Files
watcher/.gitea/workflows/release.yaml
Daniel Habenicht 7373ea16e0
All checks were successful
Release Build and Release / build-and-test (push) Successful in 59s
Release Build and Release / docker-build-and-push (push) Successful in 6m22s
.gitea/workflows/release.yaml aktualisiert
2025-10-01 21:16:31 +02:00

63 lines
1.6 KiB
YAML

name: Release Build and Release
on:
push:
branches:
- main
env:
DOTNET_VERSION: '8.0.x'
DOCKER_IMAGE_NAME: 'watcher-server'
REGISTRY_URL: 'git.triggermeelmo.com/watcher'
DOCKER_PLATFORMS: 'linux/amd64,linux/arm64'
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup .NET SDK
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test
run: dotnet test --no-build --verbosity normal
continue-on-error: true
- name: Publish
run: dotnet publish -c Release -o out
docker-build-and-push:
runs-on: ubuntu-latest
needs: build-and-test
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to Gitea Container Registry
uses: docker/login-action@v2
with:
registry: git.triggermeelmo.com
username: ${{ secrets.AUTOMATION_USERNAME }}
password: ${{ secrets.AUTOMATION_PASSWORD }}
- name: Build and Push Multi-Arch Docker Image
run: |
docker buildx build \
--platform ${{ env.DOCKER_PLATFORMS }} \
-t ${{ env.REGISTRY_URL }}/${{ env.DOCKER_IMAGE_NAME }}:v0.1.0 \
-t ${{ env.REGISTRY_URL }}/${{ env.DOCKER_IMAGE_NAME }}:${{ github.sha }} \
--push .