diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index a1638b13..e84c1b65 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -1,102 +1,102 @@ -name: CI-Build - -on: - push: - paths-ignore: - - "README.md" - branches: [develop, master] - tags: - - '*' - -jobs: - build: - - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ ubuntu-18.04, windows-latest, macos-latest ] - - env: - src-directory: ./src - - GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} - # GPR - PRERELEASE - GPR_SOURCE: ${{ secrets.GPR_SOURCE }} - GPR_API_KEY: ${{ secrets.GITHUB_TOKEN }} - # NUGET - RELEASE - NUGET_SOURCE: https://nuget.org/api/v2/package - NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} - # WYAM - DOCUMENTATION - WYAM_ACCESS_TOKEN: ${{ secrets.WYAM_ACCESS_TOKEN }} - WYAM_DEPLOY_REMOTE: ${{ github.event.repository.html_url }} - WYAM_DEPLOY_BRANCH: gh-pages - - steps: - - name: Checkout the repository - uses: actions/checkout@v2 - - - name: Fetch all tags and branches - run: git fetch --prune --unshallow - - # .net Core setup - - name: Setup .NET Core 2.1 - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 2.1 - - - name: Setup .NET Core 3.1 - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 3.1 - - - name: Setup .NET 5.x - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 5.x - - - name: Setup .NET 6.x - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 6.x - - # Caching Tools - - name: Cache Tools - uses: actions/cache@v2.1.5 - with: - path: tools - key: ${{ runner.os }}-tools-${{ hashFiles('recipe.cake') }} - - # Build - - name: Build Project - uses: cake-build/cake-action@v1 - with: - script-path: recipe.cake - target: CI - verbosity: Verbose - cake-version: 1.3.0 - cake-bootstrap: true - - # Publish artifacts - - name: Publish Issues-Report as build artifact - uses: actions/upload-artifact@v2 - if: matrix.os == 'windows-latest' - with: - if-no-files-found: warn - name: Issue Report - path: BuildArtifacts/report.html - - - name: Publish NuGet package as build artifact - uses: actions/upload-artifact@v2 - if: matrix.os == 'ubuntu-18.04' - with: - if-no-files-found: warn - name: NuGet Package - path: BuildArtifacts/Packages/**/* - - - name: Publish coverage artifact - uses: actions/upload-artifact@v2 - if: matrix.os == 'ubuntu-18.04' - with: - if-no-files-found: warn - name: Coverage - path: BuildArtifacts/TestCoverage/coverlet/*.xml +name: CI-Build + +on: + push: + paths-ignore: + - "README.md" + branches: [develop, master] + tags: + - '*' + +jobs: + build: + + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ ubuntu-22.04, windows-latest, macos-latest ] + + env: + src-directory: ./src + + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + # GPR - PRERELEASE + GPR_SOURCE: ${{ secrets.GPR_SOURCE }} + GPR_API_KEY: ${{ secrets.GITHUB_TOKEN }} + # NUGET - RELEASE + NUGET_SOURCE: https://nuget.org/api/v2/package + NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} + # WYAM - DOCUMENTATION + WYAM_ACCESS_TOKEN: ${{ secrets.WYAM_ACCESS_TOKEN }} + WYAM_DEPLOY_REMOTE: ${{ github.event.repository.html_url }} + WYAM_DEPLOY_BRANCH: gh-pages + + steps: + - name: Checkout the repository + uses: actions/checkout@v2 + + - name: Fetch all tags and branches + run: git fetch --prune --unshallow + + # .net Core setup + - name: Setup .NET Core 2.1 + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 2.1 + + - name: Setup .NET Core 3.1 + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 3.1 + + - name: Setup .NET 5.x + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 5.x + + - name: Setup .NET 6.x + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 6.x + + # Caching Tools + - name: Cache Tools + uses: actions/cache@v2.1.5 + with: + path: tools + key: ${{ runner.os }}-tools-${{ hashFiles('recipe.cake') }} + + # Build + - name: Build Project + uses: cake-build/cake-action@v1 + with: + script-path: recipe.cake + target: CI + verbosity: Verbose + cake-version: 1.3.0 + cake-bootstrap: true + + # Publish artifacts + - name: Publish Issues-Report as build artifact + uses: actions/upload-artifact@v2 + if: matrix.os == 'windows-latest' + with: + if-no-files-found: warn + name: Issue Report + path: BuildArtifacts/report.html + + - name: Publish NuGet package as build artifact + uses: actions/upload-artifact@v2 + if: matrix.os == 'ubuntu-22.04' + with: + if-no-files-found: warn + name: NuGet Package + path: BuildArtifacts/Packages/**/* + + - name: Publish coverage artifact + uses: actions/upload-artifact@v2 + if: matrix.os == 'ubuntu-22.04' + with: + if-no-files-found: warn + name: Coverage + path: BuildArtifacts/TestCoverage/coverlet/*.xml diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 198aa01d..3582403a 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -1,77 +1,77 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - push: - branches: [ develop, master ] - pull_request: - # The branches below must be a subset of the branches above - branches: [ develop ] - schedule: - - cron: '42 19 * * 0' - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-18.04 - - strategy: - fail-fast: false - matrix: - language: [ 'csharp' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] - # Learn more: - # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed - - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Setup .NET 5.x - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 5.x - - - name: Setup .NET 6.x - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 6.x - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v1 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v1 - - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ develop, master ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ develop ] + schedule: + - cron: '42 19 * * 0' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-22.04 + + strategy: + fail-fast: false + matrix: + language: [ 'csharp' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] + # Learn more: + # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Setup .NET 5.x + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 5.x + + - name: Setup .NET 6.x + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 6.x + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # ℹī¸ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml index 80e37d33..72ce948c 100644 --- a/.github/workflows/pr-build.yml +++ b/.github/workflows/pr-build.yml @@ -1,86 +1,86 @@ -name: PR-Build - -on: - pull_request: - branches: [ develop ] - -jobs: - build: - - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ ubuntu-18.04, windows-latest, macos-latest ] - - env: - src-directory: ./src - - steps: - - name: Checkout the repository - uses: actions/checkout@v2 - - - name: Fetch all tags and branches - run: git fetch --prune --unshallow - - # .net Core setup - - name: Setup .NET Core 2.1 - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 2.1 - - - name: Setup .NET Core 3.1 - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 3.1 - - - name: Setup .NET 5.x - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 5.x - - - name: Setup .NET 6.x - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 6.x - - # Caching Tools - - name: Cache Tools - uses: actions/cache@v2.1.5 - with: - path: tools - key: ${{ runner.os }}-tools-${{ hashFiles('recipe.cake') }} - - # Build - - name: Build Project - uses: cake-build/cake-action@v1 - with: - script-path: recipe.cake - target: CI - verbosity: Verbose - cake-version: 1.3.0 - cake-bootstrap: true - - # Publish - - name: Publish Issues-Report as build artifact - uses: actions/upload-artifact@v2 - if: matrix.os == 'windows-latest' - with: - if-no-files-found: warn - name: Issue Report - path: BuildArtifacts/report.html - - - name: Publish NuGet package as build artifact - uses: actions/upload-artifact@v2 - if: matrix.os == 'ubuntu-18.04' - with: - if-no-files-found: warn - name: NuGet Package - path: BuildArtifacts/Packages/**/* - - - name: Publish coverage artifact - uses: actions/upload-artifact@v2 - if: matrix.os == 'ubuntu-18.04' - with: - if-no-files-found: warn - name: Coverage - path: BuildArtifacts/TestCoverage/coverlet/*.xml +name: PR-Build + +on: + pull_request: + branches: [ develop ] + +jobs: + build: + + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ ubuntu-22.04, windows-latest, macos-latest ] + + env: + src-directory: ./src + + steps: + - name: Checkout the repository + uses: actions/checkout@v2 + + - name: Fetch all tags and branches + run: git fetch --prune --unshallow + + # .net Core setup + - name: Setup .NET Core 2.1 + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 2.1 + + - name: Setup .NET Core 3.1 + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 3.1 + + - name: Setup .NET 5.x + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 5.x + + - name: Setup .NET 6.x + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 6.x + + # Caching Tools + - name: Cache Tools + uses: actions/cache@v2.1.5 + with: + path: tools + key: ${{ runner.os }}-tools-${{ hashFiles('recipe.cake') }} + + # Build + - name: Build Project + uses: cake-build/cake-action@v1 + with: + script-path: recipe.cake + target: CI + verbosity: Verbose + cake-version: 1.3.0 + cake-bootstrap: true + + # Publish + - name: Publish Issues-Report as build artifact + uses: actions/upload-artifact@v2 + if: matrix.os == 'windows-latest' + with: + if-no-files-found: warn + name: Issue Report + path: BuildArtifacts/report.html + + - name: Publish NuGet package as build artifact + uses: actions/upload-artifact@v2 + if: matrix.os == 'ubuntu-22.04' + with: + if-no-files-found: warn + name: NuGet Package + path: BuildArtifacts/Packages/**/* + + - name: Publish coverage artifact + uses: actions/upload-artifact@v2 + if: matrix.os == 'ubuntu-22.04' + with: + if-no-files-found: warn + name: Coverage + path: BuildArtifacts/TestCoverage/coverlet/*.xml diff --git a/recipe.cake b/recipe.cake index 60a2798b..5ec03db0 100644 --- a/recipe.cake +++ b/recipe.cake @@ -1,4 +1,4 @@ -#load nuget:?package=Cake.Recipe&version=3.0.0 +#load nuget:?package=Cake.Recipe&version=3.0.1 Environment.SetVariableNames(); diff --git a/src/oehen.arguard.Tests/oehen.arguard.Tests.csproj b/src/oehen.arguard.Tests/oehen.arguard.Tests.csproj index 8c5027fb..55a48959 100644 --- a/src/oehen.arguard.Tests/oehen.arguard.Tests.csproj +++ b/src/oehen.arguard.Tests/oehen.arguard.Tests.csproj @@ -1,4 +1,4 @@ -īģŋ + @@ -20,8 +20,8 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + all diff --git a/src/oehen.arguard/oehen.arguard.csproj b/src/oehen.arguard/oehen.arguard.csproj index 0ecb0460..35962eb1 100644 --- a/src/oehen.arguard/oehen.arguard.csproj +++ b/src/oehen.arguard/oehen.arguard.csproj @@ -52,7 +52,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive