Bump v10.23.0 (#2310) #171
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "Releases" | |
| on: | |
| workflow_dispatch: | |
| push: | |
| tags: | |
| - "v*" | |
| permissions: | |
| contents: read | |
| env: | |
| REGISTRY: ghcr.io | |
| REGISTRY_USER: ${{ github.actor }} | |
| REGISTRY_PASSWORD: ${{ github.token }} | |
| IMAGE_NAME: ${{ github.repository }} | |
| jobs: | |
| main: | |
| permissions: | |
| packages: write | |
| contents: write | |
| 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: | | |
| export DETECT_CHROMEDRIVER_VERSION=true | |
| npm ci | |
| npm run setheapsize | |
| - name: Lint | |
| run: npx grunt lint | |
| - name: Unit Tests | |
| run: | | |
| npm test | |
| npm run testnodeconsumer | |
| - name: Production Build | |
| run: npx grunt prod | |
| - name: UI Tests | |
| run: | | |
| sudo apt-get install xvfb | |
| xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Image Metadata | |
| id: image-metadata | |
| uses: docker/metadata-action@v4 | |
| with: | |
| images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
| tags: | | |
| type=semver,pattern={{major}} | |
| type=semver,pattern={{major}}.{{minor}} | |
| type=semver,pattern={{version}} | |
| - name: Log in to GHCR | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ env.REGISTRY_USER }} | |
| password: ${{ env.REGISTRY_PASSWORD }} | |
| - name: Publish to GHCR | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| push: true | |
| tags: ${{ steps.image-metadata.outputs.tags }} | |
| labels: ${{ steps.image-metadata.outputs.labels }} | |
| platforms: linux/amd64,linux/arm64 | |
| - name: Upload Release Assets | |
| 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 | |
| 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." | |
| npm-publish: | |
| permissions: | |
| id-token: write | |
| contents: read | |
| needs: 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 | |
| - name: Create machine generated files | |
| run: npm run node | |
| - name: Reset node version ready for publish | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: ^24.5 | |
| registry-url: "https://registry.npmjs.org" | |
| - name: Publish to NPM | |
| run: npm publish |