Skip to content
Snippets Groups Projects
build-and-push-images.yml 1.14 KiB
Newer Older
Elliott Shugerman's avatar
Elliott Shugerman committed
name: build and push images
on:
  push:
    branches: ['master']

jobs:
  build-and-push-image:
    runs-on: ubuntu-latest
Elliott Shugerman's avatar
Elliott Shugerman committed
          - { postgres: 11, alpine: '3.10' }
          - { postgres: 12, alpine: '3.12' }
          - { postgres: 13, alpine: '3.14' }
          - { postgres: 14, alpine: '3.16' }
          - { postgres: 15, alpine: '3.17' }
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2

Sam Weston's avatar
Sam Weston committed
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v1

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1

      - name: Log in to DockerHub
        uses: docker/login-action@v1
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}

      - name: Build and push Docker image
        uses: docker/build-push-action@v2
        with:
          context: .
          push: true
Elliott Shugerman's avatar
Elliott Shugerman committed
          tags: ${{ github.repository }}:${{ matrix.postgres }}
          build-args: |
            ALPINE_VERSION=${{ matrix.alpine }}
Sam Weston's avatar
Sam Weston committed
          platforms: |
            linux/amd64
            linux/arm64