You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.2 KiB
42 lines
1.2 KiB
name: Build container image |
|
on: |
|
workflow_dispatch: |
|
push: |
|
branches: |
|
- 'main' |
|
tags: |
|
- '*' |
|
pull_request: |
|
paths: |
|
- .github/workflows/build-image.yml |
|
- Dockerfile |
|
jobs: |
|
build-image: |
|
runs-on: ubuntu-latest |
|
steps: |
|
- uses: actions/checkout@v3 |
|
- uses: docker/setup-qemu-action@v1 |
|
- uses: docker/setup-buildx-action@v1 |
|
- uses: docker/login-action@v1 |
|
with: |
|
username: ${{ secrets.DOCKERHUB_USERNAME }} |
|
password: ${{ secrets.DOCKERHUB_TOKEN }} |
|
if: github.event_name != 'pull_request' |
|
- uses: docker/metadata-action@v4 |
|
id: meta |
|
with: |
|
images: tootsuite/mastodon |
|
flavor: | |
|
latest=auto |
|
tags: | |
|
type=edge,branch=main |
|
type=match,pattern=v(.*),group=0 |
|
type=ref,event=pr |
|
- uses: docker/build-push-action@v3 |
|
with: |
|
context: . |
|
platforms: linux/amd64,linux/arm64 |
|
push: ${{ github.event_name != 'pull_request' }} |
|
tags: ${{ steps.meta.outputs.tags }} |
|
cache-from: type=registry,ref=tootsuite/mastodon:latest |
|
cache-to: type=inline
|
|
|