Add support for arm64 and multi-arch builds #189
Workflow file for this run
This file contains 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: Push to other branches | |
on: | |
push: | |
branches-ignore: | |
- master | |
jobs: | |
labels: | |
name: Repo labels | |
runs-on: ubuntu-24.04-arm | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Labels' config | |
shell: bash | |
run: | | |
mkdir -p .tmp | |
curl -LsS https://raw.githubusercontent.com/devops-infra/.github/master/.github/labels.yml -o .tmp/labels.yml | |
- name: Update labels (dry run) | |
uses: crazy-max/[email protected] | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
yaml-file: .tmp/labels.yml | |
dry-run: true | |
lint: | |
name: Linters | |
if: "!startsWith(github.ref, 'refs/heads/dependabot')" | |
runs-on: ubuntu-24.04-arm | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Hadolint | |
uses: hadolint/[email protected] | |
with: | |
dockerfile: Dockerfile | |
build_and_push: | |
name: Build & push | |
if: "!startsWith(github.ref, 'refs/heads/dependabot')" | |
runs-on: ubuntu-24.04-arm | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Docker Buildx | |
uses: docker/[email protected] | |
with: | |
install: true | |
- name: QEMU | |
uses: docker/[email protected] | |
with: | |
image: tonistiigi/binfmt:latest | |
platforms: amd64,arm64 | |
- name: Build & push | |
env: | |
DOCKER_BUILDKIT: 1 | |
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
TERM: xterm-256color | |
run: make push VERSION_PREFIX=test- | |
pull_request: | |
name: Create Pull Request | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Template | |
shell: bash | |
run: | | |
mkdir -p .tmp | |
curl -LsS https://raw.githubusercontent.com/devops-infra/.github/master/PULL_REQUEST_TEMPLATE.md -o .tmp/PULL_REQUEST_TEMPLATE.md | |
- name: PR - bugfix (conditional) | |
if: startsWith(github.ref, 'refs/heads/bug') | |
uses: devops-infra/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
assignee: ${{ github.actor }} | |
label: bugfix | |
template: .tmp/PULL_REQUEST_TEMPLATE.md | |
get_diff: true | |
- name: PR - dependency (conditional) | |
if: "startsWith(github.ref, 'refs/heads/dep') && !startsWith(github.ref, 'refs/heads/dependabot')" | |
uses: devops-infra/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
assignee: ${{ github.actor }} | |
label: dependency | |
template: .tmp/PULL_REQUEST_TEMPLATE.md | |
get_diff: true | |
- name: PR - documentation (conditional) | |
if: startsWith(github.ref, 'refs/heads/doc') | |
uses: devops-infra/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
assignee: ${{ github.actor }} | |
label: documentation | |
template: .tmp/PULL_REQUEST_TEMPLATE.md | |
get_diff: true | |
- name: PR - feature (conditional) | |
if: startsWith(github.ref, 'refs/heads/feat') | |
uses: devops-infra/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
assignee: ${{ github.actor }} | |
label: feature | |
template: .tmp/PULL_REQUEST_TEMPLATE.md | |
get_diff: true | |
- name: PR - test (conditional) | |
if: startsWith(github.ref, 'refs/heads/test') | |
uses: devops-infra/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
assignee: ${{ github.actor }} | |
reviewer: ${{ github.actor }} | |
label: test | |
template: .tmp/PULL_REQUEST_TEMPLATE.md | |
draft: true | |
get_diff: true | |
- name: PR - test (conditional) | |
if: "!startsWith(github.ref, 'refs/heads/bug') && !startsWith(github.ref, 'refs/heads/dep') && !startsWith(github.ref, 'refs/heads/doc') && !startsWith(github.ref, 'refs/heads/feat') && !startsWith(github.ref, 'refs/heads/test')" | |
uses: devops-infra/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
assignee: ${{ github.actor }} | |
label: feature | |
template: .tmp/PULL_REQUEST_TEMPLATE.md | |
get_diff: true |