CyberChef/.github/workflows/pull_requests.yml
GCHQDeveloper581 dd9e8c018d
Some checks failed
Master Build, Test & Deploy / main (push) Has been cancelled
(Feature) Improve CI (#2328)
* Use "npm ci"  rather than "npm install"
* Move UI tests before production image build
* Save zip file artefact from build
2026-04-20 10:49:48 +01:00

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