43 lines
1.2 KiB
YAML
43 lines
1.2 KiB
YAML
name: Container image builder workflow
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: gh-ref-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build-and-push-images:
|
|
if: ${{ github.repository == 'pine64/OpenPineBuds' }}
|
|
name: Build and push container image for PineBuds Pro SDK to GHCR.io
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install qemu dependency
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y qemu-user-static
|
|
|
|
- name: Build images
|
|
id: build
|
|
uses: redhat-actions/buildah-build@v2
|
|
with:
|
|
image: ${{ github.repository }}
|
|
platforms: linux/amd64, linux/arm64
|
|
context: /
|
|
tags: ${{ contains(github.ref_name, 'main') && 'latest' || github.ref_name }}-sdk
|
|
containerfiles: /Dockerfile
|
|
|
|
- name: Push container
|
|
uses: redhat-actions/push-to-registry@v2
|
|
with:
|
|
image: ${{ steps.build.outputs.image }}
|
|
tags: ${{ steps.build.outputs.tags }}
|
|
registry: ghcr.io
|
|
username: ${{ github.repository_owner }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|