Skip to content

Commit

Permalink
Merge pull request #117 from nils-org/release/0.3.0
Browse files Browse the repository at this point in the history
Release/0.3.0
  • Loading branch information
nils-a committed Oct 27, 2023
2 parents d4e469a + abab402 commit eba889e
Show file tree
Hide file tree
Showing 91 changed files with 1,811 additions and 1,494 deletions.
12 changes: 12 additions & 0 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"version": 1,
"isRoot": true,
"tools": {
"cake.tool": {
"version": "1.3.0",
"commands": [
"dotnet-cake"
]
}
}
}
5 changes: 5 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# switch from string.format to string expansion
4d2bbd41b883aa1e2628b5bd49ffd07029406773

# Reformatted and loads of "add period (.) at the end of documentation"
2dede87f3492fed0374f89da7302d1349ca3e680
8 changes: 0 additions & 8 deletions .github/dependabot.yml

This file was deleted.

4 changes: 4 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [ "github>nils-org/renovate-config:minimal" ]
}
124 changes: 68 additions & 56 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,56 +1,68 @@

name: CI

# Controls when the action will run.
on:
push:
branches:
- main
- develop
- 'release/**'
- 'hotfix/**'
#tags:
#- '**'
#pull_request:
# branches: [ main ]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: windows-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
with:
# default is 1 - but that breaks coveralls-tool and GitVersion.exe
fetch-depth: 0

- name: Setup NuGet.exe for use with actions
uses: NuGet/setup-nuget@v1.0.2

- name: setup-msbuild
uses: microsoft/setup-msbuild@v1

- name: Cake Action
#uses: cake-build/cake-action@v1.1.1
#with:
# script-path: recipe.cake
# cake.recipe does not run on core tool version of cake.
run: .\build.ps1 -Verbosity Diagnostic
env:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
#GITHUB_USERNAME: token
#GITHUB_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
#MYGET_API_KEY: ${{ secrets.MYGET_API_KEY }}
#MYGET_SOURCE: ${{ secrets.MYGET_SOURCE }}
#COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}

- name: Upload Artifact
uses: actions/upload-artifact@v1.0.0
with:
name: FluentCamlGen-CI
path: BuildArtifacts\Packages\NuGet
name: Build

on:
push:
paths-ignore:
- "README.md"
pull_request:

jobs:
build:
runs-on: ${{ matrix.os }}
#mimic "skip_branch_with_pr: true", see https://github.community/t/duplicate-checks-on-push-and-pull-request-simultaneous-event/18012/4
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
strategy:
matrix:
os: [ ubuntu-22.04, windows-2022, macos-12 ]
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
MYGET_API_KEY: ${{ secrets.MYGET_API_KEY }}
MYGET_SOURCE: https://www.myget.org/F/nils-org/api/v2/package
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
NUGET_SOURCE: https://api.nuget.org/v3/index.json
GITHUB_USERNAME: nils-a
GITHUB_PASSWORD: ${{ secrets.GH_TOKEN }}

steps:
- name: Checkout the repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1

- name: Fetch all tags and branches
run: git fetch --prune --unshallow

- name: Cache Tools
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3
with:
path: tools
key: ${{ runner.os }}-tools-${{ hashFiles('recipe.cake') }}

- name: Install .NET
uses: actions/setup-dotnet@3447fd6a9f9e57506b15f895c5b76d3b197dc7c2 # v3.2.0
with:
dotnet-version: |
3.1.x
5.0.x
6.0.x
7.0.x
- name: Build project
uses: cake-build/cake-action@a6eb054329257c9e70a6c6bf01747ad6e1d9d52b # v1
with:
script-path: recipe.cake
target: CI
cake-version: 1.3.0

- name: Upload Issues-Report
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3
with:
if-no-files-found: warn
name: ${{ matrix.os }} issues
path: BuildArtifacts/report.html

- name: Upload Packages
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3
if: runner.os == 'Windows'
with:
if-no-files-found: warn
name: package
path: BuildArtifacts/Packages/**/*
75 changes: 75 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# 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.
name: "CodeQL"

on:
push:
branches: [develop]
pull_request:
# The branches below must be a subset of the branches above
branches: [develop]
schedule:
- cron: '0 15 * * 6'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-22.04

strategy:
fail-fast: false
matrix:
# Override automatic language detection by changing the below list
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
language: ['csharp']
# Learn more...
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection

steps:
- name: Checkout repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0

# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}

- name: Install .NET
uses: actions/setup-dotnet@3447fd6a9f9e57506b15f895c5b76d3b197dc7c2 # v3.2.0
with:
dotnet-version: |
3.1.x
5.0.x
6.0.x
7.0.x
- name: Cache Tools
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3
with:
path: tools
key: ${{ runner.os }}-tools-${{ hashFiles('recipe.cake') }}

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@74483a38d39275f33fcff5f35b679b5ca4a26a99 # v2
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

- name: Build project
uses: cake-build/cake-action@a6eb054329257c9e70a6c6bf01747ad6e1d9d52b # v1
with:
script-path: recipe.cake
target: DotNetCore-Build
cake-version: 1.3.0

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@74483a38d39275f33fcff5f35b679b5ca4a26a99 # v2
35 changes: 35 additions & 0 deletions .github/workflows/publishDocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Publish Documentation

on:
workflow_dispatch:

env:
WYAM_ACCESS_TOKEN: ${{ secrets.GH_TOKEN }}
# secrets.GITHUB_TOKEN has no permissions to push, sadly.
WYAM_DEPLOY_BRANCH: 'gh-pages'
WYAM_DEPLOY_REMOTE: "${{ github.event.repository.html_url }}"

jobs:
cake:
runs-on: ubuntu-latest

steps:
- name: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0 # GitVersion is somewhat irritated when fetch-depth is "1"....
ref: ${{ github.event.ref }}

- name: Cache Tools
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3
with:
path: tools
key: ${{ runner.os }}-doc-tools-${{ hashFiles('recipe.cake') }}

- name: Publishing documentaiton
uses: cake-build/cake-action@a6eb054329257c9e70a6c6bf01747ad6e1d9d52b # v1
with:
script-path: recipe.cake
target: Force-Publish-Documentation
verbosity: Diagnostic
cake-version: 1.3.0
75 changes: 75 additions & 0 deletions .github/workflows/sonarcloud-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: "SonarCloud"

on:
push:
branches: [develop, main]
pull_request:
branches: [develop, main]
workflow_dispatch:

jobs:
analyze:
name: Analyze
runs-on: windows-latest
# currently SonarCloud does not support running PR analysis on external PRs.
# vote for it here: https://portal.productboard.com/sonarsource/1-sonarcloud/c/50-sonarcloud-analyzes-external-pull-request?utm_medium=social&utm_source=portal_share
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository

steps:
- name: Checkout repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0

- name: Cache Cake-Tools
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3
with:
path: tools
key: ${{ runner.os }}-tools-${{ hashFiles('recipe.cake') }}

- name: Cache SonarCloud packages
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3
with:
path: ~\sonar\cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar

- name: Cache SonarCloud scanner
id: cache-sonar-scanner
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3
with:
path: ~\sonar\cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar

- name: Install SonarCloud scanner
if: steps.cache-sonar-scanner.outputs.cache-hit != 'true'
shell: powershell
run: |
New-Item -Path .\.sonar\scanner -ItemType Directory
dotnet tool update dotnet-sonarscanner --tool-path .\.sonar\scanner
- name: Install .NET
uses: actions/setup-dotnet@3447fd6a9f9e57506b15f895c5b76d3b197dc7c2 # v3.2.0
with:
dotnet-version: |
3.1.x
5.0.x
6.0.x
7.0.x
- name: Set up JDK 17
uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 # v3
with:
java-version: 17
distribution: 'zulu' # Alternative distribution options are available.

- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
shell: powershell
run: |
.\.sonar\scanner\dotnet-sonarscanner begin /k:"nils-org_fluentcamlgen" /o:"nils-org" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io"
.\build.ps1 --target=DotNetCore-Build
.\.sonar\scanner\dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}"
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ TestResults
lib/packages
tools/*
!tools/packages.config
BuildArtifacts
BuildArtifacts
.history/
41 changes: 0 additions & 41 deletions appveyor.yml

This file was deleted.

Loading

0 comments on commit eba889e

Please sign in to comment.