Add github actions for multi-platform unit tests.

This commit is contained in:
Serge Camille
2020-09-13 10:02:16 +02:00
parent c9bab7523a
commit 81208c0f03
2 changed files with 90 additions and 0 deletions

43
.github/workflows/deploy.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
name: Deploy
on:
release:
types: release
jobs:
deploy:
name: Deploy
needs: build_test
runs-on: windows-latest
if: ${{ false }} # not active right now
steps:
- uses: actions/checkout@v2
- name: Fetch all history for all tags and branches
run: git fetch --prune --unshallow
- name: Install GitVersion
uses: gittools/actions/gitversion/setup@v0.9.2
with:
versionSpec: '5.2.x'
- name: Use GitVersion
id: gitversion # step id used as reference for output values
uses: gittools/actions/gitversion/execute@v0.9.2
- name: Setup Dotnet
uses: actions/setup-dotnet@v1
with:
dotnet-version: '3.1.x' # SDK Version to use; x will use the latest version of the 3.1 channel
- name: Pack
if: ${{ matrix.pack }}
run: dotnet pack --configuration "${{ env.configuration }}" /p:Version="${{ steps.gitversion.outputs.nuGetVersion }}" -o "${{ env.artifacts }}"
- name: Upload Artifacts
if: ${{ matrix.pack }}
uses: actions/upload-artifact@v2
with:
name: NugetPackage
path: ${{ env.artifacts }}/**

47
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,47 @@
name: Test
on:
[pull_request, push]
jobs:
build_test:
name: test-${{ matrix.os }}-${{ matrix.test-framework }}
runs-on: ${{ matrix.os }}
env:
configuration: Release
artifacts: ${{ github.workspace }}/artifacts
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
test-framework: [netcoreapp3.1]
include:
- os: ubuntu-latest
installSnap7: true
- os: macos-latest
installSnap7: true
- os: windows-latest
test-framework: net452
steps:
- uses: actions/checkout@v2
- name: Install Snap7 Linux
if: ${{ matrix.installSnap7 && matrix.os == 'ubuntu-latest' }}
run: |
sudo add-apt-repository ppa:gijzelaar/snap7
sudo apt-get update
sudo apt-get install libsnap7-1 libsnap7-dev
- name: Install Snap7 MacOs
if: ${{ matrix.installSnap7 && matrix.os == 'macos-latest' }}
run: |
brew install snap7
- name: Setup Dotnet
uses: actions/setup-dotnet@v1
with:
dotnet-version: '3.1.x' # SDK Version to use; x will use the latest version of the 3.1 channel
- name: Test
run: dotnet test --verbosity normal --logger GitHubActions --framework ${{ matrix.test-framework }}