|
29 | 29 |
|
30 | 30 | jobs: |
31 | 31 | build: |
32 | | - runs-on: windows-latest |
| 32 | + runs-on: ubuntu-latest |
33 | 33 |
|
34 | 34 | steps: |
| 35 | + |
35 | 36 | - name: Set version |
36 | 37 | id: versioner |
37 | 38 | run: | |
38 | | - if($env:GITHUB_EVENT_NAME -like "release") { |
39 | | - #example refs/tags/v2.0.33 |
40 | | - $parts = $env:GITHUB_REF.Split("/") |
41 | | - $version=$parts[2] |
42 | | - # remove the V from the version, .net builder doesn't accept strings |
43 | | - $version = $version.Replace("v", "") |
44 | | - SET $version=%version:~1% |
45 | | - } |
46 | | - else { |
47 | | - $version="0.0.$env:GITHUB_RUN_NUMBER" |
48 | | - } |
49 | | - echo "::set-output name=VERSION::$version" |
50 | | - Write-Host "$env:GITHUB_EVENT_NAME ($env:GITHUB_REF) generated version $version" |
| 39 | + if [[ ${{ github.event_name }} == 'release' ]]; then |
| 40 | + version="${github.ref##*/}" |
| 41 | + version="${version/[^0-9.]/}" |
| 42 | + else |
| 43 | + version="0.0.${{ github.run_number }}" |
| 44 | + # Add your commands for non-release events (command B) |
| 45 | + fi |
| 46 | +
|
| 47 | + echo "${{ github.event_name }} ${{ github.ref }} generated version $version" |
| 48 | + echo "Version=${version}" >> $GITHUB_OUTPUT |
| 49 | +
|
51 | 50 | - name: Setup .NET core 3.1.x |
52 | | - uses: actions/setup-dotnet@v3 |
| 51 | + uses: actions/setup-dotnet@v4 |
53 | 52 | with: |
54 | 53 | dotnet-version: '3.1.x' |
55 | | - - uses: actions/checkout@v2 |
56 | | - - name: Create folder |
57 | | - run: mkdir BuildReports |
| 54 | + - uses: actions/checkout@v4 |
58 | 55 | - name: Install dependencies |
59 | | - run: dotnet restore --verbosity m > BuildReports/Restore.txt |
| 56 | + run: dotnet restore --verbosity m |
60 | 57 | - name: Build |
61 | | - run: | |
62 | | - Write-Host "Version ${{steps.versioner.outputs.VERSION}}" |
63 | | - dotnet build --no-restore --verbosity m --configuration Release /p:Version=${{ steps.versioner.outputs.VERSION }} > BuildReports/Build.txt |
| 58 | + run: dotnet build --no-restore --verbosity m --configuration Release /p:Version=${{ steps.versioner.outputs.Version }} |
64 | 59 | - name: Test |
65 | | - run: dotnet test --no-build --configuration Release > BuildReports/Tests.txt |
| 60 | + run: dotnet test --no-build --configuration Release --verbosity quiet --logger "trx" --results-directory "TestResults" |
| 61 | + - name: Test Report |
| 62 | + uses: dorny/test-reporter@v1 |
| 63 | + if: success() || failure() |
| 64 | + with: |
| 65 | + name: Tests Reports |
| 66 | + path: TestResults/* |
| 67 | + reporter: dotnet-trx |
66 | 68 | - name: Copy generated nuget file |
67 | | - shell: bash |
68 | 69 | run: find . -name "SystemTestingTools*.nupkg" -exec cp "{}" ./ \; |
69 | | - - name: Set build report artifacts |
70 | | - if: ${{ always() }} # run this step even if previous steps failed |
71 | | - uses: actions/upload-artifact@v2 |
72 | | - with: |
73 | | - name: BuildReports |
74 | | - path: | |
75 | | - BuildReports/** |
76 | | - retention-days: 7 |
77 | | - if-no-files-found: error |
78 | 70 | - name: Set nuget package artifact |
79 | 71 | if: ${{ success() }} # run this step even if previous steps failed |
80 | | - uses: actions/upload-artifact@v2 |
| 72 | + uses: actions/upload-artifact@v4 |
81 | 73 | with: |
82 | 74 | name: NugetPackage |
83 | 75 | path: SystemTestingTools*.nupkg |
|
89 | 81 | if: github.event_name == 'release' |
90 | 82 | runs-on: ubuntu-latest |
91 | 83 | steps: |
92 | | - - uses: actions/download-artifact@v2 |
| 84 | + - uses: actions/download-artifact@v4 |
93 | 85 | with: |
94 | 86 | name: NugetPackage |
95 | 87 | - name: Push to NuGet Feed |
|
0 commit comments