diff --git a/.github/workflows/publish-experimental.yml b/.github/workflows/publish-experimental.yml index 65238168..c6fd1225 100644 --- a/.github/workflows/publish-experimental.yml +++ b/.github/workflows/publish-experimental.yml @@ -2,23 +2,22 @@ name: publish-experimental on: [workflow_dispatch] jobs: publish-experimental: - name: publish-experimental runs-on: ubuntu-latest timeout-minutes: 20 steps: - uses: actions/checkout@v3 - - name: Get image repository - run: echo IMAGE_REPOSITORY=$(echo ${{ secrets.DOCKER_USERNAME }}/${{ github.event.repository.name }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 + - name: Get image repository + run: echo IMAGE_REPOSITORY=$(echo ${{ secrets.DOCKER_USERNAME }}/${{ github.event.repository.name }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV - name: Login to Docker Registry uses: docker/login-action@v2 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Build and push docker image + - name: Build and push Docker image uses: docker/build-push-action@v3 with: platforms: linux/amd64 diff --git a/.github/workflows/publish-latest.yml b/.github/workflows/publish-latest.yml index 76c2ac7b..2c95a145 100644 --- a/.github/workflows/publish-latest.yml +++ b/.github/workflows/publish-latest.yml @@ -9,24 +9,23 @@ concurrency: cancel-in-progress: true jobs: publish-latest: - name: publish-latest runs-on: ubuntu-latest if: ${{ github.event.workflow_run.conclusion == 'success' }} timeout-minutes: 60 steps: - uses: actions/checkout@v3 - - name: Get image repository - run: echo IMAGE_REPOSITORY=$(echo ${{ secrets.DOCKER_USERNAME }}/${{ github.event.repository.name }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 + - name: Get image repository + run: echo IMAGE_REPOSITORY=$(echo ${{ secrets.DOCKER_USERNAME }}/${{ github.event.repository.name }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV - name: Login to Docker Registry uses: docker/login-action@v2 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Build and push docker image + - name: Build and push Docker image uses: docker/build-push-action@v3 with: platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 diff --git a/.github/workflows/publish-release-to-ghcr.yml b/.github/workflows/publish-release-to-ghcr.yml new file mode 100644 index 00000000..280bff8c --- /dev/null +++ b/.github/workflows/publish-release-to-ghcr.yml @@ -0,0 +1,43 @@ +name: publish-release-to-ghcr +on: + release: + types: [published] + workflow_dispatch: + ref: + description: "Branch, tag or SHA to checkout" + required: true + default: "master" +concurrency: + group: ${{ github.workflow }} + cancel-in-progress: true +jobs: + publish-release-to-ghcr: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} + permissions: + contents: read + packages: write + timeout-minutes: 60 + 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: Get image repository + run: echo IMAGE_REPOSITORY=$(echo ghcr.io/${{ github.actor }}/${{ github.event.repository.name }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV + - name: Get the release + run: echo RELEASE=${{ github.event.inputs.ref }} >> $GITHUB_ENV + - name: Login to Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push Docker image + uses: docker/build-push-action@v3 + with: + platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 + pull: true + push: true + tags: ${{ env.IMAGE_REPOSITORY }}:${{ env.RELEASE }},${{ env.IMAGE_REPOSITORY }}:stable diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 5e611f17..23035a98 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -9,20 +9,20 @@ jobs: timeout-minutes: 60 steps: - uses: actions/checkout@v3 - - name: Get image repository - run: echo IMAGE_REPOSITORY=$(echo ${{ secrets.DOCKER_USERNAME }}/${{ github.event.repository.name }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV - - name: Get the release - run: echo RELEASE=${GITHUB_REF/refs\/tags\//} >> $GITHUB_ENV - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 + - name: Get image repository + run: echo IMAGE_REPOSITORY=$(echo ${{ secrets.DOCKER_USERNAME }}/${{ github.event.repository.name }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV + - name: Get the release + run: echo RELEASE=${GITHUB_REF/refs\/tags\//} >> $GITHUB_ENV - name: Login to Docker Registry uses: docker/login-action@v2 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Build and push docker image + - name: Build and push Docker image uses: docker/build-push-action@v3 with: platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64