Use DesignerSerializationVisibility #942
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: push | |
env: | |
DOTNET_CLI_TELEMETRY_OPTOUT: true | |
jobs: | |
build: | |
runs-on: windows-latest | |
name: Build and Test | |
env: | |
CONFIGURATION: Release | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '9.x' | |
- name: Restore Dependencies | |
run: | | |
dotnet tool install -g dotnet-version-cli | |
dotnet restore | |
# dotnet version --dry-run -f src/Common.props --build-meta { git rev-parse --short HEAD } | |
- run: dotnet build -c $env:CONFIGURATION | |
- run: dotnet build -c $env:CONFIGURATION src\HolzShots\HolzShots.csproj | |
- run: dotnet test -c $env:CONFIGURATION --no-build src\HolzShots.Core.Tests\HolzShots.Core.Tests.csproj | |
- run: npm install -g ajv-cli | |
# - name: Validate JSON Schemas | |
# run: | | |
# curl -o json-schema.json https://json-schema.org/draft/2019-09/schema | |
# ajv -s json-schema.json -d src/schema/*.schema.json | |
- name: Collect Artifacts | |
if: startsWith(github.ref, 'refs/tags/v') | |
run: | | |
7z a HolzShots.zip ".\src\HolzShots\bin\$env:CONFIGURATION\net9.0-windows\win-x64\*.exe" | |
7z a HolzShots.zip ".\src\HolzShots\bin\$env:CONFIGURATION\net9.0-windows\win-x64\*.dll" | |
7z a HolzShots.zip ".\src\HolzShots\bin\$env:CONFIGURATION\net9.0-windows\win-x64\*.config" | |
7z a HolzShots.zip ".\src\HolzShots\bin\$env:CONFIGURATION\net9.0-windows\win-x64\*.manifest" | |
sha256sum HolzShots.zip > sha256sums.txt | |
- uses: actions/upload-artifact@v4 | |
if: startsWith(github.ref, 'refs/tags/v') | |
with: | |
name: HolzShots.zip | |
path: HolzShots.zip | |
- uses: actions/upload-artifact@v4 | |
if: startsWith(github.ref, 'refs/tags/v') | |
with: | |
name: sha256sums.txt | |
path: sha256sums.txt | |
release: | |
runs-on: windows-latest | |
needs: [build] | |
name: Publish Release | |
if: startsWith(github.ref, 'refs/tags/v') | |
env: | |
CONFIGURATION: Release | |
DOTNET_CLI_TELEMETRY_OPTOUT: true | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: HolzShots.zip | |
path: . | |
- uses: actions/download-artifact@v4 | |
with: | |
name: sha256sums.txt | |
path: . | |
- name: Perpare Version Data | |
shell: bash | |
run: | | |
RELEASE_VERSION=${GITHUB_REF#refs/tags/v} | |
RELEASE_YEAR=`date +"%Y"` | |
RELEASE_HASH=`grep -ohiE "^[0-9a-z]+" sha256sums.txt` | |
echo "version=${RELEASE_VERSION}" >> $GITHUB_OUTPUT | |
echo "year=${RELEASE_YEAR}" >> $GITHUB_OUTPUT | |
echo "checksum=${RELEASE_HASH}" >> $GITHUB_OUTPUT | |
sed -i -e "s/__REPLACE_YEAR__/${RELEASE_YEAR}/g" package/holzshots.nuspec | |
sed -i -e "s/__REPLACE_VERSION__/${RELEASE_VERSION}/g" package/holzshots.nuspec | |
sed -i -e "s/__REPLACE_VERSION__/${RELEASE_VERSION}/g" package/tools/chocolateyinstall.ps1 | |
sed -i -e "s/__REPLACE_CHECKSUM__/${RELEASE_HASH}/g" package/tools/chocolateyinstall.ps1 | |
- name: Bundle Chocolatey Package | |
uses: crazy-max/[email protected] | |
with: | |
args: pack --out . ./package/holzshots.nuspec | |
# https://github.com/actions/upload-artifact/issues/11#issuecomment-568101677 | |
- id: get_choco_package | |
shell: bash | |
run: echo "file=$(ls holzshots*.nupkg)" >> $GITHUB_OUTPUT | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: holzshots.nupkg | |
path: ${{ steps.get_choco_package.outputs.file }} | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: Release ${{ github.ref }} | |
draft: false | |
prerelease: false | |
- name: Upload Release Asset HolzShots.zip | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./HolzShots.zip | |
asset_name: HolzShots.zip | |
asset_content_type: application/zip | |
- name: Upload Release Asset sha256sums.txt | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./sha256sums.txt | |
asset_name: sha256sums.txt | |
asset_content_type: text/plain | |
- name: Upload Release Asset Chocolatey-Package | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ${{ steps.get_choco_package.outputs.file }} | |
asset_name: ${{ steps.get_choco_package.outputs.file }} | |
asset_content_type: application/zip | |
- name: Publish Chocolatey Package to Community Feed | |
shell: bash | |
run: | | |
choco push ${{ steps.get_choco_package.outputs.file }} --source "https://push.chocolatey.org/" -k="${{ secrets.CHOCO_API_KEY }}" |