Files
speckle-sharp-connectors/.github/workflows/ci.yml
T
Adam Hathcock 49a0af8165 Add Rhino tests and refactor current ones (#4)
* add tests with base test class

* update locks

* pin coverage to 4.4.0

* this is a subjob with uses, pass the secrets

* fix secret passing

* try quotes

* try a different glob

* Try simplier glob

* try something else

* try ubuntu for uploads

* update build.sh

* fix target

* update test only target
2024-07-05 15:31:36 +01:00

79 lines
2.1 KiB
YAML

name: .NET Build
on:
pull_request: # Run build on every pull request that is not to main/dev
branches-ignore:
- main
- dev
workflow_call:
secrets:
codecov_token:
required: true
outputs:
version:
value: ${{ jobs.build.outputs.version }}
jobs:
build:
runs-on: windows-latest
outputs:
version: ${{ steps.set-version.outputs.version }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.2xx # Align with global.json (including roll forward rules)
- name: Cache Nuget
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
- name: ⚒️ Run GitVersion
run: ./build.ps1 build-server-version
- name: ⚒️ Run build
run: ./build.ps1
- name: ⬆️ Upload artifacts
uses: actions/upload-artifact@v4
with:
name: output-${{ env.GitVersion_FullSemVer }}
path: output/*.*
compression-level: 0 # no compression
- id: set-version
name: Set version to output
run: echo "version=${{ env.GitVersion_FullSemVer }}" >> "$GITHUB_OUTPUT"
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.2xx # Align with global.json (including roll forward rules)
- name: Cache Nuget
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
- name: ⚒️ Run build
run: ./build.sh test-only
- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v4
with:
file: Converters/**/coverage.xml
token: ${{ secrets.codecov_token }}