Files
WatchIt/.github/workflows/master_push.yml

54 lines
1.3 KiB
YAML

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