diff --git a/.github/workflows/ghcr.yml b/.github/workflows/ghcr.yml index 6701ae7..6a4f4f7 100644 --- a/.github/workflows/ghcr.yml +++ b/.github/workflows/ghcr.yml @@ -8,6 +8,10 @@ on: branches: - master +env: + REGISTRY: ghcr.io + FQDN: "ghcr.io/thedevminertv/postgres-s3-backup" + jobs: build: name: Build image @@ -16,16 +20,16 @@ jobs: contents: read packages: write steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v2 - name: Cache docker layers - uses: actions/cache@v2.1.4 + uses: actions/cache@v3 id: cache with: path: /tmp/.buildx-cache @@ -35,18 +39,18 @@ jobs: ${{ runner.os }}-buildx- - name: Log in to the Container registry - uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + uses: docker/login-action@v2 with: - registry: ghcr.io - username: thedevminertv + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push Docker image - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v4 with: push: true - tags: ghcr.io/thedevminertv/postgres-s3-backup:latest - platforms: linux/amd64,linux/arm64,linux/arm/v7 + tags: ${{ env.FQDN }}:latest + platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/i386,linux/arm/v6 labels: | cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..ed30ada --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,56 @@ +name: Release Docker image + +on: + workflow_dispatch: + release: + types: ["published"] + +env: + REGISTRY: ghcr.io + FQDN: "ghcr.io/thedevminertv/postgres-s3-backup" + +jobs: + build: + name: Build image + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v3 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Cache docker layers + uses: actions/cache@v3 + id: cache + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ matrix.service }}-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx-${{ matrix.service }} + ${{ runner.os }}-buildx- + + - name: Log in to the Container registry + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Set release version + run: echo "RELEASE=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + push: true + tags: "${{ env.FQDN }}:latest,${{ env.FQDN }}:${{ env.RELEASE }}" + platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/i386,linux/arm/v6 + labels: | + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache