Some checks failed
Branch Build / build-test-deploy (push) Has been cancelled
78 lines
2.3 KiB
YAML
78 lines
2.3 KiB
YAML
name: Release Build
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
env:
|
|
TZ: 'Europe/Berlin'
|
|
LANG: 'de'
|
|
CONFIGURATION: 'Release'
|
|
CI_SERVER_HOST: ${{ gitea.server_url }}
|
|
|
|
jobs:
|
|
build-test-deploy:
|
|
runs-on: ubuntu
|
|
steps:
|
|
- name: Checkout repository code
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Setup dotnet
|
|
uses: actions/setup-dotnet@v5
|
|
with:
|
|
dotnet-version: 10.x
|
|
cache: false
|
|
|
|
- name: Restore dependencies
|
|
run: |
|
|
set -ex
|
|
dotnet restore -v q
|
|
dotnet tool restore -v q
|
|
|
|
- name: Setup tools
|
|
run: |
|
|
set -ex
|
|
dotnet tool install dotnet-reportgenerator-globaltool --tool-path /dotnet-tools
|
|
dotnet tool install docfx --tool-path /dotnet-tools
|
|
|
|
- name: Build solution
|
|
shell: bash
|
|
run: |
|
|
set -ex
|
|
shopt -s globstar
|
|
mkdir /artifacts
|
|
dotnet build -c ${CONFIGURATION} --no-restore --nologo
|
|
mv ./**/*.nupkg /artifacts/ || true
|
|
mv ./**/*.snupkg /artifacts/ || true
|
|
|
|
- name: Test solution
|
|
run: |
|
|
set -ex
|
|
dotnet test -c ${CONFIGURATION} --no-build --nologo /p:CoverletOutputFormat=Cobertura
|
|
/dotnet-tools/reportgenerator "-reports:${{ gitea.workspace }}/**/coverage.cobertura.xml" "-targetdir:/reports" "-reportType:TextSummary"
|
|
|
|
- name: Publish packages
|
|
run: |
|
|
set -ex
|
|
dotnet nuget push -k "${{ secrets.NUGET_APIKEY }}" -s https://api.nuget.org/v3/index.json --skip-duplicate /artifacts/*.nupkg
|
|
|
|
- name: Publish documentation
|
|
env:
|
|
DOCFX_SOURCE_REPOSITORY_URL: 'https://github.com/AM-WD/AMWD.Protocols.Modbus'
|
|
run: |
|
|
set -ex
|
|
/dotnet-tools/docfx metadata docs/docfx.json
|
|
/dotnet-tools/docfx build docs/docfx.json
|
|
tar -C "${{ gitea.workspace }}/docs/_site" -czf "/artifacts/docs.tar.gz" .
|
|
curl -sSL --no-progress-meter --user "${{ secrets.DOCS_DEPLOY_USER }}:${{ secrets.DOCS_DEPLOY_PASS }}" -F docs=modbus -F dump=@/artifacts/docs.tar.gz "${{ vars.DOCS_DEPLOY_URL }}"
|
|
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: artifacts
|
|
path: |
|
|
/artifacts/*
|
|
/reports/Summary.txt |