82dca56fbd
* First pass * format * subscriptions * Fixes * fake a release * fix tests * subscription tests * tests(sdk): fix model ingestion sub test' * tests(integration): fix model ingestion test expectations * todos * revert this too * Filter Integration-Internal tests * use a different trait * capitalize * codecov tweaks * fix * add requeue and start processing * requeue --------- Co-authored-by: Gergo Jedlicska <gergo@jedlicska.com>
65 lines
1.8 KiB
YAML
65 lines
1.8 KiB
YAML
name: .NET Build and Publish
|
|
|
|
on:
|
|
push:
|
|
tags: ["3.*.*"]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
environment:
|
|
name: "nuget.org"
|
|
permissions:
|
|
id-token: write # enable GitHub OIDC token issuance for this job
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Setup .NET
|
|
uses: actions/setup-dotnet@v5
|
|
with:
|
|
dotnet-version: 8.x.x
|
|
cache: true
|
|
cache-dependency-path: "**/packages.lock.json"
|
|
|
|
- id: set-version
|
|
name: Set version to output
|
|
run: |
|
|
TAG=${{ github.ref_name }}
|
|
if [[ "${{ github.ref }}" != refs/tags/* ]]; then
|
|
TAG="3.0.99.${{ github.run_number }}"
|
|
fi
|
|
SEMVER="${TAG}"
|
|
FILE_VERSION=$(echo "$TAG" | sed -E 's/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/')
|
|
FILE_VERSION="$FILE_VERSION.${{ github.run_number }}"
|
|
|
|
echo "semver=$SEMVER" >> "$GITHUB_OUTPUT"
|
|
echo "fileVersion=$FILE_VERSION" >> "$GITHUB_OUTPUT"
|
|
|
|
echo $SEMVER
|
|
echo $FILE_VERSION
|
|
|
|
- name: 🔫 Build and Pack
|
|
run: ./build.sh pack
|
|
env:
|
|
SEMVER: ${{ steps.set-version.outputs.SEMVER }}
|
|
FILE_VERSION: ${{ steps.set-version.outputs.FILE_VERSION }}
|
|
|
|
- name: Upload coverage reports to Codecov with GitHub Action
|
|
uses: codecov/codecov-action@v5
|
|
continue-on-error: true
|
|
with:
|
|
fail_ci_if_error: true
|
|
files: tests/**/coverage.xml
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
|
|
- name: NuGet login (OIDC → temp API key)
|
|
uses: NuGet/login@v1
|
|
id: login
|
|
with:
|
|
user: ${{ secrets.NUGET_USER }}
|
|
|
|
- name: Push to nuget.org
|
|
run: dotnet nuget push output/*.nupkg --source "https://api.nuget.org/v3/index.json" --api-key ${{steps.login.outputs.NUGET_API_KEY}}
|