name: Signals CI & Image on: pull_request: paths: - 'src/Signals/**' - '.gitea/workflows/signals-ci.yml' - 'ops/devops/signals/**' - 'helm/signals/**' - 'scripts/signals/**' push: branches: [ main ] paths: - 'src/Signals/**' - '.gitea/workflows/signals-ci.yml' - 'ops/devops/signals/**' - 'helm/signals/**' - 'scripts/signals/**' jobs: signals-ci: runs-on: ubuntu-22.04 env: DOTNET_NOLOGO: 1 DOTNET_CLI_TELEMETRY_OPTOUT: 1 DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: 1 TZ: UTC steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Task Pack offline bundle fixtures run: python3 scripts/packs/run-fixtures-check.sh - name: Setup .NET 10 RC uses: actions/setup-dotnet@v4 with: dotnet-version: 10.0.100 include-prerelease: true - name: Cache NuGet packages uses: actions/cache@v4 with: path: | ~/.nuget/packages local-nugets/packages key: signals-nuget-${{ runner.os }}-${{ hashFiles('src/Signals/**/*.csproj') }} - name: Restore run: dotnet restore src/Signals/StellaOps.Signals.sln --configfile nuget.config - name: Build run: dotnet build src/Signals/StellaOps.Signals.sln -c Release --no-restore - name: Test run: dotnet test src/Signals/__Tests/StellaOps.Signals.Tests/StellaOps.Signals.Tests.csproj -c Release --no-build --logger "trx;LogFileName=signals-tests.trx" - name: Publish service run: dotnet publish src/Signals/StellaOps.Signals/StellaOps.Signals.csproj -c Release -o out/signals/publish --no-build - name: Build container image run: | chmod +x scripts/signals/build.sh scripts/signals/build.sh - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: signals-offline-kit path: | out/signals out/signals/signals-image.tar retention-days: 7