name: Build and Push Docker Image on: push: branches: - main - gitea_actions jobs: build-and-push: runs-on: ubuntu-latest # I have self-hosted actions runner :D steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Setup Docker Buildx uses: docker/setup-buildx-action@v2 - name: Login to Container Registry to push the artifact after build run: echo "${{ secrets.CR_passkey }}" | docker login ${{ secrets.CR_endpoint }} -u ${{ secrets.CR_username }} --password-stdin - name: Generate tag for the image run: | SHA_TAG=${CI_COMMIT_SHA::5} IMAGE_TAG_SHA="${{ env.CR_endpoint }}/${{ env.CR_username }}/${CI_PROJECT_NAME}:${SHA_TAG}" echo "${IMAGE_TAG_SHA}" # IMAGE_TAG_LATEST="${{ secrets.CR_endpoint }}/${{ secrets.CR_username }}/${CI_PROJECT_NAME}:latest" - name: Build container image run: docker build -t $IMAGE_TAG_SHA . - name: Push Docker image to Container Registry run: | docker push $IMAGE_TAG_SHA