Skip to content

Add support for EGL on Linux Arm64 #6

Add support for EGL on Linux Arm64

Add support for EGL on Linux Arm64 #6

Workflow file for this run

name: Docker Build and Publish
on:
workflow_dispatch:
inputs:
publish:
description: 'Publish to registry (if false, only dry-run build)'
required: false
type: boolean
default: true
push:
branches:
- master
paths:
- 'skiko/docker/**'
- '.github/workflows/docker-publish.yml'
pull_request:
paths:
- 'skiko/docker/**'
- '.github/workflows/docker-publish.yml'
env:
REGISTRY: ghcr.io
jobs:
# Determine if we should publish (only on push to master or manual trigger with publish=true)
config:
name: 'Configuration'
runs-on: ubuntu-24.04
outputs:
should_publish: ${{ steps.vars.outputs.should_publish }}
image_namespace: ${{ steps.vars.outputs.image_namespace }}
steps:
- id: vars
name: 'Set Variables'
run: |
if [[ "${{ github.event_name }}" == "push" && "${{ github.ref }}" == "refs/heads/master" ]]; then
echo "should_publish=true" >> $GITHUB_OUTPUT
elif [[ "${{ github.event_name }}" == "workflow_dispatch" && "${{ github.event.inputs.publish }}" == "true" ]]; then
echo "should_publish=true" >> $GITHUB_OUTPUT
else
echo "should_publish=false" >> $GITHUB_OUTPUT
fi
echo "image_namespace=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_OUTPUT
linux-amd64:
name: 'Docker Linux (x64)'
runs-on: ubuntu-24.04
needs: config
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
name: 'Check out code'
- uses: ./.github/actions/docker-publish
name: 'Build and Publish Docker Image'
with:
registry: ${{ env.REGISTRY }}
namespace: ${{ needs.config.outputs.image_namespace }}
image_name: linux-amd64
context: ./skiko/docker/linux-amd64
platforms: linux/amd64
tag: ubuntu-2004
should_publish: ${{ needs.config.outputs.should_publish }}
github_token: ${{ secrets.GITHUB_TOKEN }}
linux-arm64:
name: 'Docker Linux (arm64)'
runs-on: ubuntu-24.04
needs: config
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
name: 'Check out code'
- uses: ./.github/actions/docker-publish
name: 'Build and Publish Docker Image'
with:
registry: ${{ env.REGISTRY }}
namespace: ${{ needs.config.outputs.image_namespace }}
image_name: linux-arm64
context: ./skiko/docker/linux-arm64
platforms: linux/arm64
tag: ubuntu-2004
should_publish: ${{ needs.config.outputs.should_publish }}
github_token: ${{ secrets.GITHUB_TOKEN }}
linux-android-amd64:
name: 'Docker Linux with Android SDK (x64)'
runs-on: ubuntu-24.04
needs: config
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
name: 'Check out code'
- uses: ./.github/actions/docker-publish
name: 'Build and Publish Docker Image'
with:
registry: ${{ env.REGISTRY }}
namespace: ${{ needs.config.outputs.image_namespace }}
image_name: linux-android-amd64
context: ./skiko/docker/linux-android-amd64
platforms: linux/amd64
tag: ubuntu-2004
should_publish: ${{ needs.config.outputs.should_publish }}
github_token: ${{ secrets.GITHUB_TOKEN }}
linux-emscripten-amd64:
name: 'Docker Linux with Emscripten (x64)'
runs-on: ubuntu-24.04
needs: config
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
name: 'Check out code'
- uses: ./.github/actions/docker-publish
name: 'Build and Publish Docker Image'
with:
registry: ${{ env.REGISTRY }}
namespace: ${{ needs.config.outputs.image_namespace }}
image_name: linux-emscripten-amd64
context: ./skiko/docker/linux-emscripten-amd64
platforms: linux/amd64
tag: ubuntu-2004
should_publish: ${{ needs.config.outputs.should_publish }}
github_token: ${{ secrets.GITHUB_TOKEN }}
linux-compat:
name: 'Docker Linux (Compatibility)'
runs-on: ubuntu-24.04
needs: config
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
name: 'Check out code'
- uses: ./.github/actions/docker-publish
name: 'Build and Publish Docker Image'
with:
registry: ${{ env.REGISTRY }}
namespace: ${{ needs.config.outputs.image_namespace }}
image_name: linux-compat
context: ./skiko/docker/linux-compat
platforms: linux/amd64,linux/arm64
tag: amazonlinux2-latest
should_publish: ${{ needs.config.outputs.should_publish }}
github_token: ${{ secrets.GITHUB_TOKEN }}
windows:
name: 'Docker Windows'
runs-on: windows-2022
needs: config
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
name: 'Check out code'
- name: 'Log in to GitHub Container Registry'
if: needs.config.outputs.should_publish == 'true'
shell: pwsh
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ${{ env.REGISTRY }} -u ${{ github.actor }} --password-stdin
- name: 'Build Image'
shell: pwsh
working-directory: ./skiko/docker/windows
run: |
docker build -t ${{ env.REGISTRY }}/${{ needs.config.outputs.image_namespace }}/windows-amd64:ltsc2022 -m 2G .
- name: 'Push Image'
if: needs.config.outputs.should_publish == 'true'
shell: pwsh
run: |
docker push ${{ env.REGISTRY }}/${{ needs.config.outputs.image_namespace }}/windows-amd64:ltsc2022