Claude 7b5fa8511d
Merge upstream GCHQ master into claude/upgrade-gchq-master-sglFz
Incorporates 37 upstream commits from gchq/CyberChef master including:
- Fix: Move Magic checks from Escape to Unescape Unicode Characters (#2195)
- Paste spreadsheets as text (#2200)
- Fix Roboto Mono font (#2199)
- Fix return of buffer for PNG QR image generation (#2125)
- Update JIMP (#2171)
- Bump v10.22.1 (#2193)
- Bump v10.22.0 (#2189)
- Fixed Percent delimiter for hex encoding (#2137)
- Added ability to paste Images from Clipboard (#1876)
- Quoted Printable improvements (#2186)
- Fix freeze when output text decoding fails (#1573)
- Fix import operations with special chars (#1040)
- Add Bech32 encode/decode operations
- Various bug fixes and improvements

Conflict resolution:
- Workflow files: kept Node 24 + actions@v4 (local upgrade)
- package.json: kept jsonwebtoken 9.0.0, fixJimpModule postinstall, added upstream 'tag' script
- package-lock.json: kept local version (consistent with jimp 1.6.0 install)
- sitemap.mjs: kept modern 'with' import assertion syntax
- Code.mjs: kept escaped curly brace regex for Node 24 compatibility
- newMinorVersion.mjs: added upstream ignoredAuthors constant

https://claude.ai/code/session_011xozAMdxys1JF7nLRQsMtg
2026-02-23 09:53:36 +00:00

66 lines
1.4 KiB
YAML

name: "Master Build, Test & Deploy"
on:
workflow_dispatch:
push:
branches:
- master
permissions:
contents: read
jobs:
main:
permissions:
contents: write
pages: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set node version
uses: actions/setup-node@v4
with:
node-version: 24
registry-url: "https://registry.npmjs.org"
- name: Install
run: |
export DETECT_CHROMEDRIVER_VERSION=true
npm install
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 --msg=""
- name: Generate sitemap
run: npx grunt exec:sitemap
- name: UI Tests
if: success()
run: |
sudo apt-get install xvfb
xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui
- name: Prepare for GitHub Pages
if: success()
run: npx grunt copy:ghPages
- name: Deploy to GitHub Pages
if: success() && github.ref == 'refs/heads/master'
uses: crazy-max/ghaction-github-pages@v3
with:
target_branch: gh-pages
build_dir: ./build/prod
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}