Skip to content

Mitigate LFU struct tearing using SeqLock #2171

Mitigate LFU struct tearing using SeqLock

Mitigate LFU struct tearing using SeqLock #2171

Workflow file for this run

name: Build
on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
win:
runs-on: windows-latest
permissions:
checks: write
steps:
- uses: actions/checkout@v4
- name: Setup .NET Core
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
3.1.x
6.0.x
8.0.x
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test (4.8)
run: dotnet test --no-restore --verbosity normal -f net48 --logger "trx;LogFileName=results4.trx"
- name: Upload test results (4.8)
uses: actions/upload-artifact@v4 # upload test results
if: success() || failure() # run this step even if previous step failed
with:
name: test-results-win48
path: BitFaster.Caching.UnitTests/TestResults/results4.trx
- name: Test (3.1)
run: dotnet test --no-restore --verbosity normal -f netcoreapp3.1 /p:CollectCoverage=true /p:CoverletOutput=TestResults/ /p:CoverletOutputFormat=lcov --logger "trx;LogFileName=results3.trx"
- name: Upload test results (3.1)
uses: actions/upload-artifact@v4 # upload test results
if: success() || failure() # run this step even if previous step failed
with:
name: test-results-win3
path: BitFaster.Caching.UnitTests/TestResults/results3.trx
- name: Publish coverage report to coveralls.io (3.1)
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: BitFaster.Caching.UnitTests/TestResults/coverage.netcoreapp3.1.info
flag-name: win3
parallel: true
- name: Test (6.0)
run: dotnet test --no-restore --verbosity normal -f net6.0 /p:CollectCoverage=true /p:CoverletOutput=TestResults/ /p:CoverletOutputFormat=lcov --logger "trx;LogFileName=results6.trx"
- name: Upload test results (6.0)
uses: actions/upload-artifact@v4 # upload test results
if: success() || failure() # run this step even if previous step failed
with:
name: test-results-win6
path: BitFaster.Caching.UnitTests/TestResults/results6.trx
- name: Upload test results (6.0 .NET Std)
uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: test-results-win6-std
path: BitFaster.Caching.UnitTests.Std/TestResults/results6.trx
- name: Publish coverage report to coveralls.io (6.0)
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: BitFaster.Caching.UnitTests/TestResults/coverage.net6.0.info
flag-name: win6
parallel: true
- name: Publish NuGet artifacts
uses: actions/upload-artifact@v4
with:
name: NuGet package
path: BitFaster.Caching/bin/Release/
mac:
runs-on: macos-latest
permissions:
checks: write
steps:
- uses: actions/checkout@v4
- name: Setup .NET Core
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
8.0.x
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test
run: dotnet test --no-restore --verbosity normal -f net6.0 /p:CollectCoverage=true /p:CoverletOutput=TestResults/ /p:CoverletOutputFormat=lcov --logger "trx;LogFileName=results.trx"
- name: Publish coverage report to coveralls.io
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: BitFaster.Caching.UnitTests/TestResults/coverage.net6.0.info
flag-name: mac
parallel: true
- name: Upload test results (6.0)
uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: test-results-mac
path: BitFaster.Caching.UnitTests/TestResults/results.trx
- name: Upload test results (6.0 .NET Std)
uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: test-results-mac-std
path: BitFaster.Caching.UnitTests.Std/TestResults/results.trx
linux:
runs-on: ubuntu-latest
permissions:
checks: write
steps:
- uses: actions/checkout@v4
- name: Setup .NET Core
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
8.0.x
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test
run: dotnet test --no-restore --verbosity normal -f net6.0 /p:CollectCoverage=true /p:CoverletOutput=TestResults/ /p:CoverletOutputFormat=lcov --logger "trx;LogFileName=results.trx"
- name: Publish coverage report to coveralls.io
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: BitFaster.Caching.UnitTests/TestResults/coverage.net6.0.info
flag-name: linux
parallel: true
- name: Upload test results (6.0)
uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: test-results-linux
path: BitFaster.Caching.UnitTests/TestResults/results.trx
- name: Upload test results (6.0 .NET Std)
uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: test-results-linux-std
path: BitFaster.Caching.UnitTests.Std/TestResults/results.trx
coverage:
needs: [win, mac, linux]
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true