name: Build and Push Docker Image on: push: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository with submodules uses: actions/checkout@v4 with: submodules: recursive - name: Verify submodules run: | git submodule status ls -la modules/db - name: Login to Registry uses: docker/login-action@v2 with: registry: gitea.spilum.net username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_PASSWORD }} - name: Build Docker Image env: BRANCH_NAME: ${{ github.ref_name }} SHORT_HASH: ${{ github.sha }} run: | docker build \ --build-arg BUILD_IDENTIFIER=${SHORT_HASH:0:5} \ -t gitea.spilum.net/spilum.net/mtf-backend:${BRANCH_NAME}-${SHORT_HASH:0:5} . docker tag \ gitea.spilum.net/spilum.net/mtf-backend:${BRANCH_NAME}-${SHORT_HASH:0:5} \ gitea.spilum.net/spilum.net/mtf-backend:${BRANCH_NAME}-latest - name: Push Docker Image env: BRANCH_NAME: ${{ github.ref_name }} SHORT_HASH: ${{ github.sha }} run: | docker push gitea.spilum.net/spilum.net/mtf-backend:${BRANCH_NAME}-${SHORT_HASH:0:5} docker push gitea.spilum.net/spilum.net/mtf-backend:${BRANCH_NAME}-latest - name: Log out from registry if: always() run: docker logout gitea.spilum.net