| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- ---
- name: github-packages
- on:
- push:
- branches:
- - '6.*'
- - '5.*'
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
- inputs:
- dists:
- description: list of dists to build, coma separated. xenial,sid
- required: false
- type: string
- env:
- REGISTRY_NAME: ghcr.io
- IMAGE_NAME: kamailio
- REGISTRY_IMAGE: kamailio/kamailio
- jobs:
- pre-docker:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - id: set-matrix
- run: |
- sudo apt-get install jq
- echo "matrix=$(bash get-all-dist.sh ${{ github.event.inputs.dists }})" >> $GITHUB_OUTPUT
- outputs:
- dist: ${{ steps.set-matrix.outputs.matrix }}
- docker:
- needs: pre-docker
- runs-on: ubuntu-latest
- permissions:
- contents: read
- packages: write
- strategy:
- fail-fast: false
- matrix:
- dist: ${{fromJson(needs.pre-docker.outputs.dist)}}
- steps:
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v3
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
- - name: Login to GitHub Registry
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY_NAME }}
- username: ${{ github.actor }}
- password: ${{ secrets.GITHUB_TOKEN }}
- - name: Docker meta
- id: meta
- uses: docker/metadata-action@v5
- with:
- images: ${{ env.REGISTRY_NAME }}/${{ env.REGISTRY_IMAGE }}
- tags: |
- type=raw,value=${{ github.ref_name }}-${{ matrix.dist }}
- labels: |
- org.opencontainers.image.title=${{ env.IMAGE_NAME }}
- org.opencontainers.image.description=official Debian base image
- env:
- DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
- - name: Build and push
- uses: docker/build-push-action@v6
- with:
- context: "{{defaultContext}}:${{ matrix.dist }}"
- # we need to build for arm64 first at kamailio.sipwise.com
- # platforms: linux/amd64,linux/arm64
- labels: ${{ steps.meta.outputs.labels }}
- push: true
- tags: ${{ steps.meta.outputs.tags }}
- annotations: ${{ steps.meta.outputs.annotations }}
|