name: CI Pipeline on: push: branches: - main tags: - 'v*' pull_request: branches: - main env: REGISTRY: gitea.inouter.com IMAGE_NAME: ${{ gitea.repository }} jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Build image run: | docker build -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.sha }} . docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.sha }} \ ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest - name: Tag version if: startsWith(gitea.ref, 'refs/tags/v') run: | VERSION=${GITEA_REF#refs/tags/} docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.sha }} \ ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${VERSION} - name: Login to Registry if: gitea.event_name != 'pull_request' run: | docker login ${{ env.REGISTRY }} \ -u ${{ gitea.actor }} \ -p ${{ secrets.REGISTRY_TOKEN }} - name: Push image if: gitea.event_name != 'pull_request' run: | docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.sha }} docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest - name: Push version tag if: startsWith(gitea.ref, 'refs/tags/v') run: | VERSION=${GITEA_REF#refs/tags/} docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${VERSION}