mirror of
https://github.com/gchq/CyberChef.git
synced 2026-05-19 02:35:25 -07:00
Some checks failed
Master Build, Test & Deploy / main (push) Has been cancelled
* Use "npm ci" rather than "npm install" * Move UI tests before production image build * Save zip file artefact from build
66 lines
1.4 KiB
YAML
66 lines
1.4 KiB
YAML
name: "Pull Requests"
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
types: [synchronize, opened, reopened]
|
|
|
|
jobs:
|
|
main:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
|
|
- name: Set node version
|
|
uses: actions/setup-node@v6
|
|
with:
|
|
node-version: 18
|
|
registry-url: "https://registry.npmjs.org"
|
|
|
|
- name: Install
|
|
run: |
|
|
npm ci
|
|
npm run setheapsize
|
|
|
|
- name: Lint
|
|
run: npx grunt lint
|
|
|
|
- name: Unit Tests
|
|
run: |
|
|
npm test
|
|
npm run testnodeconsumer
|
|
|
|
- name: Production Build
|
|
if: success()
|
|
run: npx grunt prod
|
|
|
|
- name: Upload Build Artefact
|
|
if: success()
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: zipped-build
|
|
path: build/prod/*.zip
|
|
retention-days: 5
|
|
|
|
- name: UI Tests
|
|
if: success()
|
|
run: |
|
|
sudo apt-get install xvfb
|
|
xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui
|
|
|
|
- name: Set up Docker Buildx
|
|
if: success()
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v3
|
|
|
|
- name: Production Image Build
|
|
if: success()
|
|
id: build-image
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
platforms: linux/amd64,linux/arm64
|