diff --git a/.forgejo/workflows/docker-publish.yml b/.forgejo/workflows/docker-publish.yml index e10399b..59016b5 100644 --- a/.forgejo/workflows/docker-publish.yml +++ b/.forgejo/workflows/docker-publish.yml @@ -7,6 +7,10 @@ on: pull_request: branches: [ "main" ] +env: + REGISTRY: ${{ forgejo.server_url }} + IMAGE_NAME: ${{ forgejo.repository }} + jobs: build: runs-on: docker @@ -14,9 +18,21 @@ jobs: - name: Checkout repository uses: https://code.forgejo.org/actions/checkout@v4 - - name: Build and publish image - uses: http://forgejo:3000/andras/ci-actions/docker-publish@main - with: - context: . - push: ${{ github.event_name != 'pull_request' }} - token: ${{ secrets.FORGEJO_TOKEN }} + - name: Log into registry + if: forgejo.event_name != 'pull_request' + run: echo "${{ secrets.FORGEJO_TOKEN }}" | docker login ${{ env.REGISTRY }} -u ${{ forgejo.actor }} --password-stdin + + - name: Build Docker image + run: | + TAG="${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest" + if [ "${{ forgejo.ref_type }}" = "tag" ]; then + VERSION="${{ forgejo.ref_name }}" + docker build -t "$TAG" -t "${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${VERSION}" . + else + docker build -t "$TAG" . + fi + + - name: Push Docker image + if: forgejo.event_name != 'pull_request' + run: | + docker push --all-tags "${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}"