2021-02-10 19:37:46 +01:00
name : "Releases"
2021-02-01 15:10:21 +01:00
on :
2022-03-25 16:24:21 +01:00
workflow_dispatch :
2021-02-01 15:10:21 +01:00
push :
tags :
- 'v*'
jobs :
main :
runs-on : ubuntu-latest
steps :
2022-10-06 14:58:01 +02:00
- uses : actions/checkout@v3
2021-02-01 15:10:21 +01:00
- name : Set node version
2022-10-06 14:58:01 +02:00
uses : actions/setup-node@v3
2021-02-01 15:10:21 +01:00
with :
2022-09-09 22:22:55 +02:00
node-version : '18.x'
2021-02-01 15:10:21 +01:00
- name : Install
run : |
npm install
2021-02-12 14:51:51 +01:00
npm run setheapsize
2021-02-01 15:10:21 +01:00
- name : Lint
run : npx grunt lint
- name : Unit Tests
run : |
npm test
2022-03-28 16:42:11 +02:00
npm run testnodeconsumer
2021-02-01 15:10:21 +01:00
- name : Production Build
if : success()
run : npx grunt prod
2023-03-09 15:01:21 +01:00
- name : UI Tests
if : success()
run : |
sudo apt-get install xvfb
xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui
2021-02-01 15:10:21 +01:00
- name : Upload Release Assets
if : success()
id : upload-release-assets
uses : svenstaro/upload-release-action@v2
with :
repo_token : ${{ secrets.GITHUB_TOKEN }}
file : build/prod/*.zip
tag : ${{ github.ref }}
overwrite : true
file_glob : true
2021-02-03 20:07:39 +01:00
body : "See the [CHANGELOG](https://github.com/gchq/CyberChef/blob/master/CHANGELOG.md) and [commit messages](https://github.com/gchq/CyberChef/commits/master) for details."
2021-02-01 15:10:21 +01:00
- name : Publish to NPM
if : success()
uses : JS-DevTools/npm-publish@v1
with :
token : ${{ secrets.NPM_TOKEN }}