diff --git a/.gitea/workflows/container.yml b/.gitea/workflows/container.yml new file mode 100644 index 0000000..b6d0758 --- /dev/null +++ b/.gitea/workflows/container.yml @@ -0,0 +1,43 @@ +name: Build and Push Docker Image + +on: + push: + branches: [ main ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Login to Registry + uses: docker/login-action@v2 + with: + registry: ${GITHUB_SERVER_URL} + username: ${{ secrets.REGISTRY_USER }} + password: ${{ secrets.REGISTRY_PASSWORD }} + + - name: Build Docker Image + env: + BRANCH_NAME: ${{ github.ref_name }} + SHORT_HASH: ${{ github.sha }} + run: | + # Build the image with the commit hash tag + docker build --build-arg BUILD_IDENTIFIER=${SHORT_HASH:0:5} -t ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}:${BRANCH_NAME}-${SHORT_HASH:0:5} . + + # Tag the same image as "latest" + docker tag ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}:${BRANCH_NAME}-${SHORT_HASH:0:5} ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}:${BRANCH_NAME}-latest + + - name: Push Docker Images + env: + BRANCH_NAME: ${{ github.ref_name }} + SHORT_HASH: ${{ github.sha }} + run: | + docker push ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}:${BRANCH_NAME}-${SHORT_HASH:0:5} + docker push ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}:${BRANCH_NAME}-latest + + - name: Log out from registry + if: always() + run: docker logout ${GITHUB_SERVER_URL} +