name: Postgres image on: schedule: # every Thursday 2:30am - cron: "30 2 * * 2" push: paths: - .github/workflows/postgres.yml - postgres/** branches: - main tags: - "v*" env: MINOR_VERSIONS: '{"15": "12","17": "4"}' jobs: build: strategy: matrix: arch: - arm64 - amd64 postgres_major: - "15" - "17" runs-on: ubuntu-latest-${{ matrix.arch }} steps: - uses: actions/checkout@v4 - name: Login to container registry uses: docker/login-action@v3 with: registry: registry.icb4dc0.de username: ${{ secrets.HARBOR_USER }} password: ${{ secrets.HARBOR_TOKEN }} - name: Build and push uses: docker/build-push-action@v6 with: file: postgres/Dockerfile push: true tags: registry.icb4dc0.de/supabase-operator/postgres:${{ matrix.postgres_major }}.${{ fromJSON(env.MINOR_VERSIONS)[matrix.postgres_major] }}.${{ github.run_number }}-${{ matrix.arch }} build-args: | POSTGRES_MAJOR=${{ matrix.postgres_major }} POSTGRES_MINOR=${{ fromJSON(env.MINOR_VERSIONS)[matrix.postgres_major] }} manifest: strategy: matrix: postgres_major: - "15" - "17" runs-on: ubuntu-latest needs: - build steps: - name: Login to container registry uses: docker/login-action@v3 with: registry: registry.icb4dc0.de username: ${{ secrets.HARBOR_USER }} password: ${{ secrets.HARBOR_TOKEN }} - name: Install skopeo run: | apt-get update apt-get install -y skopeo - name: Create manifest run: | docker buildx imagetools create \ -t registry.icb4dc0.de/supabase-operator/postgres:${{ matrix.postgres_major }}.${{ fromJSON(env.MINOR_VERSIONS)[matrix.postgres_major] }} \ -t registry.icb4dc0.de/supabase-operator/postgres:${{ matrix.postgres_major }}.${{ fromJSON(env.MINOR_VERSIONS)[matrix.postgres_major] }}.${{ github.run_number }} \ registry.icb4dc0.de/supabase-operator/postgres:${{ matrix.postgres_major }}.${{ fromJSON(env.MINOR_VERSIONS)[matrix.postgres_major] }}.${{ github.run_number }}-arm64 \ registry.icb4dc0.de/supabase-operator/postgres:${{ matrix.postgres_major }}.${{ fromJSON(env.MINOR_VERSIONS)[matrix.postgres_major] }}.${{ github.run_number }}-amd64 skopeo delete docker://registry.icb4dc0.de/supabase-operator/postgres:${{ matrix.postgres_major }}.${{ fromJSON(env.MINOR_VERSIONS)[matrix.postgres_major] }}.${{ github.run_number }}-arm64 skopeo delete docker://registry.icb4dc0.de/supabase-operator/postgres:${{ matrix.postgres_major }}.${{ fromJSON(env.MINOR_VERSIONS)[matrix.postgres_major] }}.${{ github.run_number }}-amd64