Pipeline changes

This commit is contained in:
2025-08-22 11:28:27 +02:00
parent fe923e78d4
commit b4bd0e184b

View File

@@ -5,18 +5,31 @@ on:
branches:
- development
jobs:
build:
runs-on: ubuntu-latest
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 8 SDK
- name: Setup .NET SDK
uses: actions/setup-dotnet@v3
with:
dotnet-version: '8.0.x'
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Cache NuGet packages
uses: actions/cache@v3
with:
path: ~/.nuget/packages
key: nuget-${{ runner.os }}-${{ hashFiles('**/*.csproj') }}
restore-keys: |
nuget-${{ runner.os }}-
- name: Restore dependencies
run: dotnet restore
@@ -24,26 +37,48 @@ jobs:
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test (optional)
- name: Test
run: dotnet test --no-build --verbosity normal
continue-on-error: true
- name: Publish
run: dotnet publish -c Release -o out
- name: Build Docker Image
run: docker build -t watcher-server:development .
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: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: docker-${{ github.sha }}
restore-keys: |
docker-
- name: Login to Gitea Container Registry
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login git.triggermeelmo.com -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
- name: Push development-image
run: docker push git.triggermeelmo.com/watcher/watcher-server:development
- name: Tag image Commit SHA
run: docker tag watcher:development git.triggermeelmo.com/watcher/watcher-server:${{ github.sha }}
- name: Push sha-image
run: docker push git.triggermeelmo.com/watcher/watcher-server:${{ github.sha }}
uses: docker/login-action@v2
with:
registry: git.triggermeelmo.com
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and Push Multi-Arch Docker Image
run: |
docker buildx build \
--platform ${{ env.DOCKER_PLATFORMS }} \
--cache-from=type=local,src=/tmp/.buildx-cache \
--cache-to=type=local,dest=/tmp/.buildx-cache-new,mode=max \
-t ${{ env.REGISTRY_URL }}/${{ env.DOCKER_IMAGE_NAME }}:development \
-t ${{ env.REGISTRY_URL }}/${{ env.DOCKER_IMAGE_NAME }}:${{ github.sha }} \
--push .
# Move new cache
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache