name: "Push to 'master' branch" on: push: branches: - "master" jobs: build: name: Build and test runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x - name: Restore dependencies run: dotnet restore - name: Build run: dotnet build --no-restore - name: Test run: dotnet test --no-build --verbosity normal publish: name: Publish runs-on: ubuntu-latest needs: build strategy: matrix: app: - WatchIt.WebAPI - WatchIt.Website steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to GitHub Container Registry uses: docker/login-action@v1 with: registry: ghcr.io username: ${{github.actor}} password: ${{secrets.GITHUB_TOKEN}} - name: Extract Docker metadata uses: docker/metadata-action@v5 with: images: ghcr.io/${{ matrix.app }} - name: Build and push Docker image uses: docker/build-push-action@v5 with: file: ./${{ matrix.app }}/Dockerfile push: false