name: Publish Docker image on: release: types: [published] workflow_dispatch: env: REGISTRY: git.joinsharkey.org jobs: push_to_registry: name: Push Docker image to GHCR runs-on: docker steps: - name: install packages run: apt-get update && apt-get install -y wget git curl - uses: https://code.forgejo.org/actions/setup-node@v3 with: node-version: 20 - name: Install docker run: | echo deb http://deb.debian.org/debian bullseye-backports main | tee /etc/apt/sources.list.d/backports.list && apt-get -qq update DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -qq -y -t bullseye-backports docker.io - name: Check out the repo uses: actions/checkout@v4.1.1 - name: Set up Docker Buildx id: buildx uses: https://github.com/docker/setup-buildx-action@v3.0.0 with: platforms: linux/amd64,linux/arm64 - name: Docker meta id: meta uses: https://github.com/docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/sharkey/sharkey tags: | type=edge type=ref,event=pr type=ref,event=branch type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=raw,value=stable - name: Log in to GHCR uses: https://github.com/docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: Marie password: ${{ secrets.TOKEN }} - name: Build and Push to GHCR id: build uses: https://github.com/docker/build-push-action@v5 with: builder: ${{ steps.buildx.outputs.name }} context: . push: true platforms: ${{ steps.buildx.outputs.platforms }} provenance: false tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }}