1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
---
name: Build and Publish Docker Image
on:
# run it on push to the default repository branch
push:
pull_request:
schedule:
- cron: '0 6 * * *' # Daily 6AM UTC build
jobs:
# define job to build and publish docker image
build-and-push-docker-image:
name: Build Docker image and push to repositories
# run only when code is compiling and tests are passing
runs-on: ubuntu-latest
# steps to perform in job
steps:
- name: Checkout code
uses: actions/checkout@v2
# setup Docker buld action
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
- name: Login to Github Packages
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build lintian-brush image
uses: docker/build-push-action@v2
with:
file: "Dockerfile.lintian-brush"
tags: |
ghcr.io/jelmer/lintian-brush:latest
# build on feature branches, push only on main branch
push: ${{ github.ref == 'refs/heads/master' }}
- name: Build deb-scrub-obsolete image
uses: docker/build-push-action@v2
with:
file: "Dockerfile.deb-scrub-obsolete"
tags: |
ghcr.io/jelmer/deb-scrub-obsolete:latest
# build on feature branches, push only on main branch
push: ${{ github.ref == 'refs/heads/master' }}
- name: Build debianize image
uses: docker/build-push-action@v2
with:
file: "Dockerfile.debianize"
tags: |
ghcr.io/jelmer/debianize:latest
# build on feature branches, push only on main branch
push: ${{ github.ref == 'refs/heads/master' }}
- name: Build apply-multiarch-hints image
uses: docker/build-push-action@v2
with:
file: "Dockerfile.apply-multiarch-hints"
tags: |
ghcr.io/jelmer/apply-multiarch-hints:latest
# build on feature branches, push only on main branch
push: ${{ github.ref == 'refs/heads/master' }}
|