Skip to content

Instantly share code, notes, and snippets.

@kurtmkurtm
Last active November 7, 2022 01:02
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kurtmkurtm/286b579242c14f523f904183daeeb38c to your computer and use it in GitHub Desktop.
Save kurtmkurtm/286b579242c14f523f904183daeeb38c to your computer and use it in GitHub Desktop.
Sample .NET Core GitHub actions workflow, with published markdown tests results using LiquidTestReports.Markdown - https://www.nuget.org/packages/LiquidTestReports.Markdown
name: .NET Core Build with Tests
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
env:
config: 'Release'
steps:
- uses: actions/checkout@v2
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.1.101
# restore dependencies
- name: Install dependencies
run: dotnet restore
# build project
- name: Build
run: dotnet build --configuration $config --no-restore
- name: set pr build number (if pr)
id: PRNUMBER
if: ${{ github.event_name == 'pull_request' }}
uses: kkak10/pr-number-action@v1.3
# set report file and title
- name: Set Test Title
run: |
if ${{ github.event_name == 'pull_request' }}
then
echo "title=Test Run for PR #${{steps.PRNUMBER.outputs.pr}} (${{github.run_number}})" >> $GITHUB_ENV
echo "file_name=TestReport.${{steps.PRNUMBER.outputs.pr}}.${{github.run_number}}.md" >> $GITHUB_ENV
else
echo "title=Test Run ${{github.run_number}}" >> $GITHUB_ENV
echo "file_name=TestReport.${{github.run_number}}.md" >> $GITHUB_ENV
fi
# run tests with built project
- name: Test PR
run: dotnet test --no-restore --no-build --configuration $config --logger:"liquid.md;LogFileName=${{github.workspace}}/${{env.file_name}};Title=${{env.title}};"
# upload report as build artifact
- name: Upload a Build Artifact
uses: actions/upload-artifact@v2
if: ${{always()}}
with:
name: 'Test Run'
path: ${{github.workspace}}/${{env.file_name}}
# add report as PR comment (if PR)
- name: comment PR
uses: machine-learning-apps/pr-comment@master
if: ${{ github.event_name == 'pull_request' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
path: ${{env.file_name}}
@kurtmkurtm
Copy link
Author

Sample of PR Comment output:
sample-pr-comment

@segadora
Copy link

@segadora
Copy link

Here is the fix

diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml
index 63b48db..840deec 100644
--- a/.github/workflows/testing.yml
+++ b/.github/workflows/testing.yml
@@ -37,11 +37,11 @@ jobs:
         run: |
           if ${{ github.event_name == 'pull_request' }}
           then
-            echo "::set-env name=title::Test Run for PR #${{steps.PRNUMBER.outputs.pr}} (${{github.run_number}})"
-            echo "::set-env name=file_name::TestReport.${{steps.PRNUMBER.outputs.pr}}.${{github.run_number}}.md"
+            echo "title=Test Run for PR #${{steps.PRNUMBER.outputs.pr}} (${{github.run_number}})" >> $GITHUB_ENV
+            echo "file_name=TestReport.${{steps.PRNUMBER.outputs.pr}}.${{github.run_number}}.md" >> $GITHUB_ENV
           else
-            echo "::set-env name=title::Test Run ${{github.run_number}}"
-            echo "::set-env name=file_name::TestReport.${{github.run_number}}.md"
+            echo "title=Test Run ${{github.run_number}}" >> $GITHUB_ENV
+            echo "file_name=TestReport.${{github.run_number}}.md" >> $GITHUB_ENV
           fi

         # run tests with built project

@kurtmkurtm
Copy link
Author

Thanks @segadora, I've updated the gist with your suggested fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment