Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .github/workflows/release-studio-sandbox.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,13 @@ jobs:
type=raw,value=latest,enable=${{ github.event_name == 'workflow_dispatch' }}
type=sha,format=short

- name: Set up ARM64 emulation
if: steps.tag-check.outputs.exists != 'true'
uses: docker/setup-qemu-action@v4
with:
platforms: arm64
reset: true

- name: Set up Docker Buildx
if: steps.tag-check.outputs.exists != 'true'
uses: docker/setup-buildx-action@v3
Expand All @@ -128,8 +135,8 @@ jobs:
cache-to: type=gha,mode=max
# Multi-arch to match every sibling image (Studio API, orgfs-sidecar,
# sandbox-netinit, s3-sync). Without arm64 the sandbox can't run
# natively on Apple Silicon / arm64 nodes. buildx emulates arm64 via
# the runner's preinstalled binfmt, same as orgfs-sidecar.
# natively on Apple Silicon / arm64 nodes. Buildx uses the ARM64
# emulator registered above.
platforms: linux/amd64,linux/arm64

- name: Install cosign
Expand Down
48 changes: 48 additions & 0 deletions .github/workflows/sandbox-arm64-smoke.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Sandbox ARM64 smoke

on:
pull_request:
paths:
- "packages/sandbox/image/Dockerfile"
- ".github/workflows/release-studio-sandbox.yaml"
- ".github/workflows/sandbox-arm64-smoke.yml"
workflow_dispatch:

permissions:
contents: read

concurrency:
group: sandbox-arm64-smoke-${{ github.ref }}
cancel-in-progress: true

jobs:
node-npm:
name: Node and npm under ARM64 emulation
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4

- name: Set up ARM64 emulation
uses: docker/setup-qemu-action@v4
with:
platforms: arm64
reset: true

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build the Dockerfile's Node base
run: |
docker buildx build --load --platform linux/arm64 \
--target node-dist --tag sandbox-node-arm64-smoke \
--file packages/sandbox/image/Dockerfile packages/sandbox

- name: Exercise Node and npm
run: |
docker run --rm --platform linux/arm64 sandbox-node-arm64-smoke \
sh -ec '
node --version
npm --version
node --print process.arch | grep --line-regexp arm64
'
Loading