-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
28 changed files
with
1,503 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
{ | ||
"version": 1, | ||
"isRoot": true, | ||
"tools": { | ||
"fantomas": { | ||
"version": "6.3.8", | ||
"commands": [ | ||
"fantomas" | ||
] | ||
} | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
root = true | ||
|
||
[*] | ||
charset = utf-8 | ||
trim_trailing_whitespace = true | ||
insert_final_newline = true | ||
indent_style = space | ||
indent_size = 4 | ||
|
||
# ReSharper properties | ||
resharper_xml_indent_size = 2 | ||
resharper_xml_max_line_length = 100 | ||
resharper_xml_tab_width = 2 | ||
|
||
[*.{csproj,fsproj,sqlproj,targets,props,ts,tsx,css,json}] | ||
indent_style = space | ||
indent_size = 2 | ||
|
||
[*.{fs,fsi}] | ||
fsharp_bar_before_discriminated_union_declaration = true | ||
fsharp_space_before_uppercase_invocation = true | ||
fsharp_space_before_class_constructor = true | ||
fsharp_space_before_member = true | ||
fsharp_space_before_colon = true | ||
fsharp_space_before_semicolon = true | ||
fsharp_multiline_bracket_style = aligned | ||
fsharp_newline_between_type_definition_and_members = true | ||
fsharp_align_function_signature_to_indentation = true | ||
fsharp_alternative_long_member_definitions = true | ||
fsharp_multi_line_lambda_closing_newline = true | ||
fsharp_experimental_keep_indent_in_branch = true | ||
fsharp_max_value_binding_width = 80 | ||
fsharp_max_record_width = 0 | ||
max_line_length = 120 | ||
end_of_line = lf | ||
|
||
[*.{appxmanifest,build,dtd,nuspec,xaml,xamlx,xoml,xsd}] | ||
indent_style = space | ||
indent_size = 2 | ||
tab_width = 2 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
use flake |
Validating CODEOWNERS rules …
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# See: https://help.github.com/articles/about-codeowners/ | ||
|
||
* @G-Research/rqf @G-Research/gr-oss |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# yaml-language-server: $schema=https://json.schemastore.org/dependabot-2.0.json | ||
version: 2 | ||
updates: | ||
|
||
- package-ecosystem: "github-actions" | ||
directory: "/" | ||
schedule: | ||
interval: "weekly" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,217 @@ | ||
# yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/github-workflow.json | ||
name: .NET | ||
|
||
on: | ||
push: | ||
branches: [ main ] | ||
pull_request: | ||
branches: [ main ] | ||
|
||
env: | ||
DOTNET_NOLOGO: true | ||
DOTNET_CLI_TELEMETRY_OPTOUT: true | ||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true | ||
NUGET_XMLDOC_MODE: '' | ||
DOTNET_MULTILEVEL_LOOKUP: 0 | ||
|
||
jobs: | ||
build-windows: | ||
runs-on: windows-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 # so that NerdBank.GitVersioning has access to history | ||
- uses: actions/setup-dotnet@v4 | ||
with: | ||
dotnet-version: '8.0.x' | ||
- name: Restore dependencies | ||
run: dotnet restore | ||
- name: Test | ||
run: dotnet test | ||
- name: Run example | ||
run: ./Example/bin/Release/net8.0/*/Example.exe | ||
|
||
build: | ||
strategy: | ||
matrix: | ||
config: | ||
- Release | ||
- Debug | ||
|
||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 # so that NerdBank.GitVersioning has access to history | ||
- name: Install Nix | ||
uses: cachix/install-nix-action@V27 | ||
with: | ||
extra_nix_config: | | ||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | ||
- name: Restore dependencies | ||
run: nix develop --command dotnet restore | ||
- name: Build | ||
run: nix develop --command dotnet build --no-restore --configuration ${{matrix.config}} | ||
- name: Test | ||
run: nix develop --command dotnet test --no-build --verbosity normal --configuration ${{matrix.config}} | ||
|
||
build-nix: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Install Nix | ||
uses: cachix/install-nix-action@V27 | ||
with: | ||
extra_nix_config: | | ||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | ||
- name: Build | ||
run: nix build | ||
|
||
check-dotnet-format: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Install Nix | ||
uses: cachix/install-nix-action@V27 | ||
with: | ||
extra_nix_config: | | ||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | ||
- name: Run Fantomas | ||
run: nix run .#fantomas -- --check . | ||
|
||
check-nix-format: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Install Nix | ||
uses: cachix/install-nix-action@V27 | ||
with: | ||
extra_nix_config: | | ||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | ||
- name: Run Alejandra | ||
run: nix develop --command alejandra --check . | ||
|
||
linkcheck: | ||
name: Check links | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@master | ||
- name: Install Nix | ||
uses: cachix/install-nix-action@V27 | ||
with: | ||
extra_nix_config: | | ||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | ||
- name: Run link checker | ||
run: nix develop --command markdown-link-check README.md | ||
|
||
flake-check: | ||
name: Check flake | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@master | ||
- name: Install Nix | ||
uses: cachix/install-nix-action@V27 | ||
with: | ||
extra_nix_config: | | ||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | ||
- name: Flake check | ||
run: nix flake check | ||
|
||
nuget-pack: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 # so that NerdBank.GitVersioning has access to history | ||
- name: Install Nix | ||
uses: cachix/install-nix-action@V27 | ||
with: | ||
extra_nix_config: | | ||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | ||
- name: Restore dependencies | ||
run: nix develop --command dotnet restore | ||
- name: Build | ||
run: nix develop --command dotnet build --no-restore --configuration Release | ||
- name: Pack | ||
run: nix develop --command dotnet pack --configuration Release | ||
- name: Upload NuGet artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: nuget-package | ||
path: WoofWare.DotnetRuntimeLocator/bin/Release/WoofWare.DotnetRuntimeLocator.*.nupkg | ||
|
||
expected-pack: | ||
needs: [nuget-pack] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Download NuGet artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: nuget-package | ||
path: packed | ||
- name: Check NuGet contents | ||
# Verify that there is exactly one nupkg in the artifact that would be NuGet published | ||
run: if [[ $(find packed -maxdepth 1 -name 'WoofWare.DotnetRuntimeLocator.*.nupkg' -printf c | wc -c) -ne "1" ]]; then exit 1; fi | ||
|
||
github-release-dry-run: | ||
needs: [nuget-pack] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Download NuGet artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: nuget-package | ||
- name: Tag and release | ||
env: | ||
DRY_RUN: 1 | ||
GITHUB_TOKEN: mock-token | ||
run: sh .github/workflows/tag.sh | ||
|
||
all-required-checks-complete: | ||
needs: [check-dotnet-format, check-nix-format, build, build-nix, linkcheck, flake-check, nuget-pack, expected-pack, github-release-dry-run] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: echo "All required checks complete." | ||
|
||
nuget-publish: | ||
runs-on: ubuntu-latest | ||
if: ${{ !github.event.repository.fork && github.ref == 'refs/heads/main' }} | ||
needs: [all-required-checks-complete] | ||
environment: main-deploy | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install Nix | ||
uses: cachix/install-nix-action@V27 | ||
with: | ||
extra_nix_config: | | ||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | ||
- name: Download NuGet artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: nuget-package | ||
path: packed | ||
- name: Publish to NuGet | ||
run: nix develop --command dotnet nuget push "packed/WoofWare.DotnetRuntimeLocator.*.nupkg" --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate | ||
|
||
github-release: | ||
runs-on: ubuntu-latest | ||
if: ${{ !github.event.repository.fork && github.ref == 'refs/heads/main' }} | ||
needs: [all-required-checks-complete] | ||
environment: main-deploy | ||
permissions: | ||
contents: write | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Download NuGet artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: nuget-package | ||
- name: Tag and release | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: sh .github/workflows/tag.sh |
Oops, something went wrong.