mirror of
https://github.com/OpenLogics/MewtocolNet.git
synced 2025-12-06 11:11:23 +00:00
Code ql test
This commit is contained in:
93
.github/workflows/build-pipeline.yml
vendored
Normal file
93
.github/workflows/build-pipeline.yml
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
name: Build pipeline
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- master
|
||||
|
||||
jobs:
|
||||
|
||||
#Check the online status of the test PLCs first
|
||||
check-plcs-online:
|
||||
name: 'Test PLC online status'
|
||||
runs-on: [self-hosted, linux, x64, womed-local-linux]
|
||||
steps:
|
||||
- name: 'Ping FPX-H-C30T'
|
||||
run: ping 192.168.115.210 -w 5
|
||||
- name: 'Ping FPX-H-C14R'
|
||||
run: ping 192.168.115.212 -w 5
|
||||
- name: 'Ping FPX-C30T'
|
||||
run: ping 192.168.115.213 -w 5
|
||||
|
||||
#Run unit tests on the test PLCs
|
||||
run-unit-tests:
|
||||
name: 'Run unit tests'
|
||||
needs: check-plcs-online
|
||||
runs-on: [self-hosted, linux, x64, womed-local-linux]
|
||||
strategy:
|
||||
matrix:
|
||||
dotnet-version: [ '6.0.x' ]
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: 'Setup dotnet ${{ matrix.dotnet-version }}'
|
||||
uses: actions/setup-dotnet@v2
|
||||
with:
|
||||
dotnet-version: ${{ matrix.dotnet-version }}
|
||||
- name: 'Run tests'
|
||||
run: |
|
||||
cd '${{ github.workspace }}/MewtocolTests'
|
||||
dotnet test --logger:"console;verbosity=detailed"
|
||||
|
||||
#Run code ql check
|
||||
code-ql-check:
|
||||
uses: ./.github/workflows/codeql.yml
|
||||
|
||||
#Publish to nuget if version tag change detected
|
||||
publish-and-push-nuget:
|
||||
name: 'Build and publish to NuGet'
|
||||
needs: [run-unit-tests, ]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
# Publish
|
||||
- name: publish on version change
|
||||
id: publish_nuget
|
||||
uses: brandedoutcast/publish-nuget@v2
|
||||
with:
|
||||
# Filepath of the project to be packaged, relative to root of repository
|
||||
PROJECT_FILE_PATH: MewtocolNet/MewtocolNet.csproj
|
||||
|
||||
# Configuration to build and package
|
||||
# BUILD_CONFIGURATION: Release
|
||||
|
||||
# Platform target to compile (default is empty/AnyCPU)
|
||||
# BUILD_PLATFORM: x64
|
||||
|
||||
# NuGet package id, used for version detection & defaults to project name
|
||||
PACKAGE_NAME: Mewtocol.NET
|
||||
|
||||
# Filepath with version info, relative to root of repository & defaults to PROJECT_FILE_PATH
|
||||
# VERSION_FILE_PATH: Directory.Build.props
|
||||
|
||||
# Regex pattern to extract version info in a capturing group
|
||||
# VERSION_REGEX: ^\s*<Version>(.*)<\/Version>\s*$
|
||||
|
||||
# Useful with external providers like Nerdbank.GitVersioning, ignores VERSION_FILE_PATH & VERSION_REGEX
|
||||
# VERSION_STATIC: 1.0.0
|
||||
|
||||
# Flag to toggle git tagging, enabled by default
|
||||
# TAG_COMMIT: true
|
||||
|
||||
# Format of the git tag, [*] gets replaced with actual version
|
||||
# TAG_FORMAT: v*
|
||||
|
||||
# API key to authenticate with NuGet server
|
||||
NUGET_KEY: ${{secrets.NUGET_KEY}}
|
||||
|
||||
# NuGet server uri hosting the packages, defaults to https://api.nuget.org
|
||||
# NUGET_SOURCE: https://api.nuget.org
|
||||
|
||||
# Flag to toggle pushing symbols along with nuget package to the server, disabled by default
|
||||
# INCLUDE_SYMBOLS: false
|
||||
Reference in New Issue
Block a user