name: Build Mau & Deploy Mau on: [push, pull_request] concurrency: group: mau cancel-in-progress: true env: DOTNET_INSTALL_DIR: "./.dotnet" DOCKER_LATEST: nightly GITEA_INSTANCE_URL: "git.mau-mau.nl" jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup .NET Core uses: actions/setup-dotnet@v3 with: dotnet-version: 7.0.x - name: Install dependencies run: dotnet restore - name: Build run: dotnet build --configuration Release --no-restore - name: Test run: dotnet test --no-restore --verbosity normal deploy: runs-on: ubuntu-latest needs: build if: gitea.ref == 'refs/heads/mauster' steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Docker BuildX uses: docker/setup-buildx-action@v2 with: config-inline: | [registry."${{ env.GITEA_INSTANCE_URL }}"] http = true insecure = true - name: Login to DockerHub uses: docker/login-action@v2 with: registry: ${{ env.GITEA_INSTANCE_URL }} username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Get Meta id: meta run: | echo REPO_OWNER=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print tolower($1)}' ) >> $GITHUB_OUTPUT echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print tolower($2)}') >> $GITHUB_OUTPUT echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Build and push uses: docker/build-push-action@v4 with: context: . file: ./Dockerfile platforms: | linux/amd64 push: true tags: | ${{ env.GITEA_INSTANCE_URL }}/${{ steps.meta.outputs.REPO_OWNER }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.REPO_VERSION }} ${{ env.GITEA_INSTANCE_URL }}/${{ steps.meta.outputs.REPO_OWNER }}/${{ steps.meta.outputs.REPO_NAME }}:${{ env.DOCKER_LATEST }}