This commit is contained in:
Alex Gustafsson 2025-05-26 16:53:36 +01:00 committed by GitHub
commit c3a99bf6bd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 25 additions and 30 deletions

View file

@ -34,20 +34,20 @@ jobs:
if: success() if: success()
run: npx grunt prod run: npx grunt prod
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Production Image Build - name: Production Image Build
if: success() if: success()
id: build-image id: build-image
uses: redhat-actions/buildah-build@v2 uses: docker/build-push-action@v6
with: with:
# Not being uploaded to any registry, use a simple name to allow Buildah to build correctly. # Not being uploaded to any registry, use a simple name to allow Buildah to build correctly.
image: cyberchef image: cyberchef
containerfiles: ./Dockerfile
platforms: linux/amd64 platforms: linux/amd64
oci: true
# Webpack seems to use a lot of open files, increase the max open file limit to accomodate.
extra-args: |
--ulimit nofile=10000
- name: UI Tests - name: UI Tests
if: success() if: success()
run: | run: |

View file

@ -45,6 +45,12 @@ jobs:
sudo apt-get install xvfb sudo apt-get install xvfb
xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui 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 - name: Image Metadata
id: image-metadata id: image-metadata
uses: docker/metadata-action@v4 uses: docker/metadata-action@v4
@ -55,30 +61,22 @@ jobs:
type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{version}} type=semver,pattern={{version}}
- name: Production Image Build - name: Log in to GHCR
id: build-image uses: docker/login-action@v3
uses: redhat-actions/buildah-build@v2
with: with:
tags: ${{ steps.image-metadata.outputs.tags }}
labels: ${{ steps.image-metadata.outputs.labels }}
containerfiles: ./Dockerfile
platforms: linux/amd64,linux/arm64
oci: true
# enable build layer caching between platforms
layers: true
# Webpack seems to use a lot of open files, increase the max open file limit to accomodate.
extra-args: |
--ulimit nofile=10000
- name: Publish to GHCR
uses: redhat-actions/push-to-registry@v2
with:
image: ${{ steps.build-image.outputs.image }}
tags: ${{ steps.build-image.outputs.tags }}
registry: ${{ env.REGISTRY }} registry: ${{ env.REGISTRY }}
username: ${{ env.REGISTRY_USER }} username: ${{ env.REGISTRY_USER }}
password: ${{ env.REGISTRY_PASSWORD }} 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 - name: Upload Release Assets
id: upload-release-assets id: upload-release-assets
uses: svenstaro/upload-release-action@v2 uses: svenstaro/upload-release-action@v2

View file

@ -27,9 +27,6 @@ RUN npm run build
######################################### #########################################
# Package static build files into nginx # # Package static build files into nginx #
######################################### #########################################
# We are using Github Actions: redhat-actions/buildah-build@v2 which needs manual selection of arch in base image FROM nginx:stable-alpine AS cyberchef
# Remove TARGETARCH if docker buildx is supported in the CI release as --platform=$TARGETPLATFORM will be automatically set
ARG TARGETPLATFORM
FROM --platform=${TARGETPLATFORM} nginx:stable-alpine AS cyberchef
COPY --from=builder /app/build/prod /usr/share/nginx/html/ COPY --from=builder /app/build/prod /usr/share/nginx/html/