name: CI on: push: pull_request: workflow_dispatch: jobs: compose: runs-on: ubuntu-latest name: Build / docker-compose steps: - name: Checkout uses: actions/checkout@v4 - name: Build w/ docker-compose run: make compose/build buildx: runs-on: ubuntu-latest name: Build / docker buildx steps: - name: Checkout uses: actions/checkout@v4 - name: Build w/ docker buildx run: | make buildx/create make buildx/build make buildx/rm publish: needs: [compose, buildx] strategy: matrix: project: [dump1090, fr24feed] runs-on: ubuntu-latest name: 'Publish / ${{ matrix.project }}' if: github.ref == 'refs/heads/master' steps: - name: Checkout uses: actions/checkout@v4 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: username: '${{ secrets.DOCKERHUB_USERNAME }}' password: '${{ secrets.DOCKERHUB_TOKEN }}' - name: 'Publish ${{ matrix.project }}' uses: docker/build-push-action@v5 with: context: '${{ matrix.project }}' file: '${{ matrix.project }}/Dockerfile' platforms: i386,amd64,arm64 push: true tags: '${{ secrets.DOCKERHUB_USERNAME }}/${{ matrix.project }}:latest'