@hivehub/rulebook 5.4.0 → 5.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +191 -191
- package/README.md +1 -0
- package/dist/core/generator.d.ts +1 -1
- package/dist/core/generator.d.ts.map +1 -1
- package/dist/core/generator.js +1 -0
- package/dist/core/generator.js.map +1 -1
- package/package.json +1 -1
- package/templates/cli/gemini-extension.json +77 -77
- package/templates/core/AGENTS_LEAN.md +9 -0
- package/templates/core/CLAUDE_MD_v2.md +9 -0
- package/templates/core/WORKSPACE.md +69 -69
- package/templates/skills/core/karpathy-guidelines/SKILL.md +93 -0
- package/templates/workflows/codespell.yml +31 -31
- package/templates/workflows/cpp-lint.yml +47 -47
- package/templates/workflows/cpp-publish.yml +119 -119
- package/templates/workflows/cpp-test.yml +77 -77
- package/templates/workflows/dotnet-lint.yml +29 -29
- package/templates/workflows/dotnet-publish.yml +40 -40
- package/templates/workflows/dotnet-test.yml +41 -41
- package/templates/workflows/elixir-lint.yml +45 -45
- package/templates/workflows/elixir-publish.yml +49 -49
- package/templates/workflows/elixir-test.yml +54 -54
- package/templates/workflows/erlang-lint.yml +47 -47
- package/templates/workflows/erlang-test.yml +62 -62
- package/templates/workflows/go-lint.yml +39 -39
- package/templates/workflows/go-publish.yml +95 -95
- package/templates/workflows/go-test.yml +59 -59
- package/templates/workflows/java-lint.yml +60 -60
- package/templates/workflows/java-publish.yml +120 -120
- package/templates/workflows/java-test.yml +85 -85
- package/templates/workflows/kotlin-lint.yml +34 -34
- package/templates/workflows/kotlin-publish.yml +56 -56
- package/templates/workflows/kotlin-test.yml +48 -48
- package/templates/workflows/php-lint.yml +39 -39
- package/templates/workflows/php-publish.yml +50 -50
- package/templates/workflows/php-test.yml +54 -54
- package/templates/workflows/python-lint.yml +47 -47
- package/templates/workflows/python-publish.yml +91 -91
- package/templates/workflows/python-test.yml +59 -59
- package/templates/workflows/rust-lint.yml +54 -54
- package/templates/workflows/rust-publish.yml +66 -66
- package/templates/workflows/rust-test.yml +75 -75
- package/templates/workflows/solidity-lint.yml +41 -41
- package/templates/workflows/solidity-test.yml +47 -47
- package/templates/workflows/swift-lint.yml +32 -32
- package/templates/workflows/swift-publish.yml +58 -58
- package/templates/workflows/swift-test.yml +44 -44
- package/templates/workflows/typescript-publish.yml +60 -60
- package/templates/workflows/typescript-test.yml +73 -73
- package/templates/workflows/zig-lint.yml +27 -27
- package/templates/workflows/zig-test.yml +40 -40
|
@@ -1,119 +1,119 @@
|
|
|
1
|
-
name: Publish C++ Package
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
release:
|
|
5
|
-
types: [published]
|
|
6
|
-
workflow_dispatch:
|
|
7
|
-
inputs:
|
|
8
|
-
tag:
|
|
9
|
-
description: 'Tag to publish (e.g., v1.0.0)'
|
|
10
|
-
required: true
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
build-and-publish:
|
|
14
|
-
runs-on: ${{ matrix.os }}
|
|
15
|
-
strategy:
|
|
16
|
-
matrix:
|
|
17
|
-
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
|
18
|
-
include:
|
|
19
|
-
- os: ubuntu-latest
|
|
20
|
-
artifact_name: linux-x64
|
|
21
|
-
- os: windows-latest
|
|
22
|
-
artifact_name: windows-x64
|
|
23
|
-
- os: macos-latest
|
|
24
|
-
artifact_name: macos-arm64
|
|
25
|
-
|
|
26
|
-
steps:
|
|
27
|
-
- uses: actions/checkout@v5
|
|
28
|
-
with:
|
|
29
|
-
ref: ${{ github.event.inputs.tag || github.ref }}
|
|
30
|
-
|
|
31
|
-
- name: Install dependencies (Ubuntu)
|
|
32
|
-
if: runner.os == 'Linux'
|
|
33
|
-
run: |
|
|
34
|
-
sudo apt-get update
|
|
35
|
-
sudo apt-get install -y cmake ninja-build clang-format-15 clang-tidy-15
|
|
36
|
-
|
|
37
|
-
- name: Install dependencies (macOS)
|
|
38
|
-
if: runner.os == 'macOS'
|
|
39
|
-
run: brew install cmake ninja llvm
|
|
40
|
-
|
|
41
|
-
- name: Install dependencies (Windows)
|
|
42
|
-
if: runner.os == 'Windows'
|
|
43
|
-
run: choco install cmake ninja
|
|
44
|
-
|
|
45
|
-
- name: Run clang-format check
|
|
46
|
-
if: runner.os == 'Linux'
|
|
47
|
-
run: |
|
|
48
|
-
find src include tests -name '*.cpp' -o -name '*.hpp' | \
|
|
49
|
-
xargs clang-format-15 --dry-run --Werror
|
|
50
|
-
|
|
51
|
-
- name: Run clang-tidy
|
|
52
|
-
if: runner.os == 'Linux'
|
|
53
|
-
run: |
|
|
54
|
-
cmake -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
|
55
|
-
find src -name '*.cpp' | xargs clang-tidy-15 -p build
|
|
56
|
-
|
|
57
|
-
- name: Configure CMake
|
|
58
|
-
run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
|
|
59
|
-
|
|
60
|
-
- name: Build
|
|
61
|
-
run: cmake --build build --config Release
|
|
62
|
-
|
|
63
|
-
- name: Run tests
|
|
64
|
-
run: ctest --test-dir build --output-on-failure --build-config Release
|
|
65
|
-
|
|
66
|
-
- name: Package
|
|
67
|
-
run: cmake --build build --target package
|
|
68
|
-
|
|
69
|
-
- name: Upload artifacts
|
|
70
|
-
uses: actions/upload-artifact@v4
|
|
71
|
-
with:
|
|
72
|
-
name: ${{ matrix.artifact_name }}
|
|
73
|
-
path: build/*.tar.gz
|
|
74
|
-
|
|
75
|
-
- name: Create GitHub Release
|
|
76
|
-
if: github.event_name == 'release' && matrix.os == 'ubuntu-latest'
|
|
77
|
-
uses: softprops/action-gh-release@v1
|
|
78
|
-
with:
|
|
79
|
-
files: build/*.tar.gz
|
|
80
|
-
body: |
|
|
81
|
-
C++ package release ${{ github.ref_name }}
|
|
82
|
-
|
|
83
|
-
See CHANGELOG.md for details.
|
|
84
|
-
env:
|
|
85
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
86
|
-
|
|
87
|
-
publish-conan:
|
|
88
|
-
runs-on: ubuntu-latest
|
|
89
|
-
if: hashFiles('conanfile.py') != ''
|
|
90
|
-
|
|
91
|
-
steps:
|
|
92
|
-
- uses: actions/checkout@v5
|
|
93
|
-
with:
|
|
94
|
-
ref: ${{ github.event.inputs.tag || github.ref }}
|
|
95
|
-
|
|
96
|
-
- name: Set up Python
|
|
97
|
-
uses: actions/setup-python@v5
|
|
98
|
-
with:
|
|
99
|
-
python-version: '3.11'
|
|
100
|
-
|
|
101
|
-
- name: Install Conan
|
|
102
|
-
run: pip install conan
|
|
103
|
-
|
|
104
|
-
- name: Configure Conan
|
|
105
|
-
run: |
|
|
106
|
-
conan profile detect
|
|
107
|
-
conan remote add conancenter https://center.conan.io
|
|
108
|
-
|
|
109
|
-
- name: Create package
|
|
110
|
-
run: conan create . --build=missing
|
|
111
|
-
|
|
112
|
-
- name: Upload to Conan Center
|
|
113
|
-
if: secrets.CONAN_PASSWORD != ''
|
|
114
|
-
run: |
|
|
115
|
-
conan remote login conancenter ${{ secrets.CONAN_LOGIN_USERNAME }}
|
|
116
|
-
conan upload your-project/* -r conancenter --confirm
|
|
117
|
-
env:
|
|
118
|
-
CONAN_PASSWORD: ${{ secrets.CONAN_PASSWORD }}
|
|
119
|
-
|
|
1
|
+
name: Publish C++ Package
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
inputs:
|
|
8
|
+
tag:
|
|
9
|
+
description: 'Tag to publish (e.g., v1.0.0)'
|
|
10
|
+
required: true
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
build-and-publish:
|
|
14
|
+
runs-on: ${{ matrix.os }}
|
|
15
|
+
strategy:
|
|
16
|
+
matrix:
|
|
17
|
+
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
|
18
|
+
include:
|
|
19
|
+
- os: ubuntu-latest
|
|
20
|
+
artifact_name: linux-x64
|
|
21
|
+
- os: windows-latest
|
|
22
|
+
artifact_name: windows-x64
|
|
23
|
+
- os: macos-latest
|
|
24
|
+
artifact_name: macos-arm64
|
|
25
|
+
|
|
26
|
+
steps:
|
|
27
|
+
- uses: actions/checkout@v5
|
|
28
|
+
with:
|
|
29
|
+
ref: ${{ github.event.inputs.tag || github.ref }}
|
|
30
|
+
|
|
31
|
+
- name: Install dependencies (Ubuntu)
|
|
32
|
+
if: runner.os == 'Linux'
|
|
33
|
+
run: |
|
|
34
|
+
sudo apt-get update
|
|
35
|
+
sudo apt-get install -y cmake ninja-build clang-format-15 clang-tidy-15
|
|
36
|
+
|
|
37
|
+
- name: Install dependencies (macOS)
|
|
38
|
+
if: runner.os == 'macOS'
|
|
39
|
+
run: brew install cmake ninja llvm
|
|
40
|
+
|
|
41
|
+
- name: Install dependencies (Windows)
|
|
42
|
+
if: runner.os == 'Windows'
|
|
43
|
+
run: choco install cmake ninja
|
|
44
|
+
|
|
45
|
+
- name: Run clang-format check
|
|
46
|
+
if: runner.os == 'Linux'
|
|
47
|
+
run: |
|
|
48
|
+
find src include tests -name '*.cpp' -o -name '*.hpp' | \
|
|
49
|
+
xargs clang-format-15 --dry-run --Werror
|
|
50
|
+
|
|
51
|
+
- name: Run clang-tidy
|
|
52
|
+
if: runner.os == 'Linux'
|
|
53
|
+
run: |
|
|
54
|
+
cmake -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
|
55
|
+
find src -name '*.cpp' | xargs clang-tidy-15 -p build
|
|
56
|
+
|
|
57
|
+
- name: Configure CMake
|
|
58
|
+
run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
|
|
59
|
+
|
|
60
|
+
- name: Build
|
|
61
|
+
run: cmake --build build --config Release
|
|
62
|
+
|
|
63
|
+
- name: Run tests
|
|
64
|
+
run: ctest --test-dir build --output-on-failure --build-config Release
|
|
65
|
+
|
|
66
|
+
- name: Package
|
|
67
|
+
run: cmake --build build --target package
|
|
68
|
+
|
|
69
|
+
- name: Upload artifacts
|
|
70
|
+
uses: actions/upload-artifact@v4
|
|
71
|
+
with:
|
|
72
|
+
name: ${{ matrix.artifact_name }}
|
|
73
|
+
path: build/*.tar.gz
|
|
74
|
+
|
|
75
|
+
- name: Create GitHub Release
|
|
76
|
+
if: github.event_name == 'release' && matrix.os == 'ubuntu-latest'
|
|
77
|
+
uses: softprops/action-gh-release@v1
|
|
78
|
+
with:
|
|
79
|
+
files: build/*.tar.gz
|
|
80
|
+
body: |
|
|
81
|
+
C++ package release ${{ github.ref_name }}
|
|
82
|
+
|
|
83
|
+
See CHANGELOG.md for details.
|
|
84
|
+
env:
|
|
85
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
86
|
+
|
|
87
|
+
publish-conan:
|
|
88
|
+
runs-on: ubuntu-latest
|
|
89
|
+
if: hashFiles('conanfile.py') != ''
|
|
90
|
+
|
|
91
|
+
steps:
|
|
92
|
+
- uses: actions/checkout@v5
|
|
93
|
+
with:
|
|
94
|
+
ref: ${{ github.event.inputs.tag || github.ref }}
|
|
95
|
+
|
|
96
|
+
- name: Set up Python
|
|
97
|
+
uses: actions/setup-python@v5
|
|
98
|
+
with:
|
|
99
|
+
python-version: '3.11'
|
|
100
|
+
|
|
101
|
+
- name: Install Conan
|
|
102
|
+
run: pip install conan
|
|
103
|
+
|
|
104
|
+
- name: Configure Conan
|
|
105
|
+
run: |
|
|
106
|
+
conan profile detect
|
|
107
|
+
conan remote add conancenter https://center.conan.io
|
|
108
|
+
|
|
109
|
+
- name: Create package
|
|
110
|
+
run: conan create . --build=missing
|
|
111
|
+
|
|
112
|
+
- name: Upload to Conan Center
|
|
113
|
+
if: secrets.CONAN_PASSWORD != ''
|
|
114
|
+
run: |
|
|
115
|
+
conan remote login conancenter ${{ secrets.CONAN_LOGIN_USERNAME }}
|
|
116
|
+
conan upload your-project/* -r conancenter --confirm
|
|
117
|
+
env:
|
|
118
|
+
CONAN_PASSWORD: ${{ secrets.CONAN_PASSWORD }}
|
|
119
|
+
|
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
name: C++ Tests
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [ master, main, develop ]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [ '**' ]
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
test:
|
|
11
|
-
runs-on: ${{ matrix.os }}
|
|
12
|
-
strategy:
|
|
13
|
-
matrix:
|
|
14
|
-
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
|
15
|
-
compiler: [ gcc, clang ]
|
|
16
|
-
build_type: [ Debug, Release ]
|
|
17
|
-
exclude:
|
|
18
|
-
- os: windows-latest
|
|
19
|
-
compiler: gcc
|
|
20
|
-
- os: macos-latest
|
|
21
|
-
compiler: gcc
|
|
22
|
-
|
|
23
|
-
steps:
|
|
24
|
-
- uses: actions/checkout@v5
|
|
25
|
-
|
|
26
|
-
- name: Install dependencies (Ubuntu)
|
|
27
|
-
if: runner.os == 'Linux'
|
|
28
|
-
run: |
|
|
29
|
-
sudo apt-get update
|
|
30
|
-
sudo apt-get install -y cmake ninja-build lcov
|
|
31
|
-
if [ "${{ matrix.compiler }}" = "clang" ]; then
|
|
32
|
-
sudo apt-get install -y clang-15
|
|
33
|
-
fi
|
|
34
|
-
|
|
35
|
-
- name: Install dependencies (macOS)
|
|
36
|
-
if: runner.os == 'macOS'
|
|
37
|
-
run: |
|
|
38
|
-
brew install cmake ninja lcov llvm
|
|
39
|
-
|
|
40
|
-
- name: Install dependencies (Windows)
|
|
41
|
-
if: runner.os == 'Windows'
|
|
42
|
-
run: |
|
|
43
|
-
choco install cmake ninja
|
|
44
|
-
|
|
45
|
-
- name: Configure CMake
|
|
46
|
-
run: |
|
|
47
|
-
cmake -B build -G Ninja \
|
|
48
|
-
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
|
|
49
|
-
-DBUILD_TESTING=ON \
|
|
50
|
-
-DENABLE_SANITIZERS=${{ matrix.build_type == 'Debug' && runner.os != 'Windows' }}
|
|
51
|
-
env:
|
|
52
|
-
CC: ${{ matrix.compiler == 'clang' && 'clang-15' || 'gcc' }}
|
|
53
|
-
CXX: ${{ matrix.compiler == 'clang' && 'clang++-15' || 'g++' }}
|
|
54
|
-
|
|
55
|
-
- name: Build
|
|
56
|
-
run: cmake --build build --config ${{ matrix.build_type }}
|
|
57
|
-
|
|
58
|
-
- name: Run tests
|
|
59
|
-
run: ctest --test-dir build --output-on-failure --build-config ${{ matrix.build_type }}
|
|
60
|
-
|
|
61
|
-
- name: Generate coverage (Debug + GCC only)
|
|
62
|
-
if: matrix.build_type == 'Debug' && matrix.compiler == 'gcc' && runner.os == 'Linux'
|
|
63
|
-
run: |
|
|
64
|
-
cmake -B build -DCMAKE_BUILD_TYPE=Debug -DENABLE_COVERAGE=ON
|
|
65
|
-
cmake --build build
|
|
66
|
-
ctest --test-dir build
|
|
67
|
-
lcov --capture --directory build --output-file coverage.info
|
|
68
|
-
lcov --remove coverage.info '/usr/*' '*/tests/*' --output-file coverage.info
|
|
69
|
-
|
|
70
|
-
- name: Upload coverage to Codecov
|
|
71
|
-
uses: codecov/codecov-action@v4
|
|
72
|
-
if: matrix.build_type == 'Debug' && matrix.compiler == 'gcc' && runner.os == 'Linux'
|
|
73
|
-
with:
|
|
74
|
-
files: ./coverage.info
|
|
75
|
-
flags: unittests
|
|
76
|
-
fail_ci_if_error: false
|
|
77
|
-
|
|
1
|
+
name: C++ Tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ master, main, develop ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ '**' ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ${{ matrix.os }}
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
|
15
|
+
compiler: [ gcc, clang ]
|
|
16
|
+
build_type: [ Debug, Release ]
|
|
17
|
+
exclude:
|
|
18
|
+
- os: windows-latest
|
|
19
|
+
compiler: gcc
|
|
20
|
+
- os: macos-latest
|
|
21
|
+
compiler: gcc
|
|
22
|
+
|
|
23
|
+
steps:
|
|
24
|
+
- uses: actions/checkout@v5
|
|
25
|
+
|
|
26
|
+
- name: Install dependencies (Ubuntu)
|
|
27
|
+
if: runner.os == 'Linux'
|
|
28
|
+
run: |
|
|
29
|
+
sudo apt-get update
|
|
30
|
+
sudo apt-get install -y cmake ninja-build lcov
|
|
31
|
+
if [ "${{ matrix.compiler }}" = "clang" ]; then
|
|
32
|
+
sudo apt-get install -y clang-15
|
|
33
|
+
fi
|
|
34
|
+
|
|
35
|
+
- name: Install dependencies (macOS)
|
|
36
|
+
if: runner.os == 'macOS'
|
|
37
|
+
run: |
|
|
38
|
+
brew install cmake ninja lcov llvm
|
|
39
|
+
|
|
40
|
+
- name: Install dependencies (Windows)
|
|
41
|
+
if: runner.os == 'Windows'
|
|
42
|
+
run: |
|
|
43
|
+
choco install cmake ninja
|
|
44
|
+
|
|
45
|
+
- name: Configure CMake
|
|
46
|
+
run: |
|
|
47
|
+
cmake -B build -G Ninja \
|
|
48
|
+
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
|
|
49
|
+
-DBUILD_TESTING=ON \
|
|
50
|
+
-DENABLE_SANITIZERS=${{ matrix.build_type == 'Debug' && runner.os != 'Windows' }}
|
|
51
|
+
env:
|
|
52
|
+
CC: ${{ matrix.compiler == 'clang' && 'clang-15' || 'gcc' }}
|
|
53
|
+
CXX: ${{ matrix.compiler == 'clang' && 'clang++-15' || 'g++' }}
|
|
54
|
+
|
|
55
|
+
- name: Build
|
|
56
|
+
run: cmake --build build --config ${{ matrix.build_type }}
|
|
57
|
+
|
|
58
|
+
- name: Run tests
|
|
59
|
+
run: ctest --test-dir build --output-on-failure --build-config ${{ matrix.build_type }}
|
|
60
|
+
|
|
61
|
+
- name: Generate coverage (Debug + GCC only)
|
|
62
|
+
if: matrix.build_type == 'Debug' && matrix.compiler == 'gcc' && runner.os == 'Linux'
|
|
63
|
+
run: |
|
|
64
|
+
cmake -B build -DCMAKE_BUILD_TYPE=Debug -DENABLE_COVERAGE=ON
|
|
65
|
+
cmake --build build
|
|
66
|
+
ctest --test-dir build
|
|
67
|
+
lcov --capture --directory build --output-file coverage.info
|
|
68
|
+
lcov --remove coverage.info '/usr/*' '*/tests/*' --output-file coverage.info
|
|
69
|
+
|
|
70
|
+
- name: Upload coverage to Codecov
|
|
71
|
+
uses: codecov/codecov-action@v4
|
|
72
|
+
if: matrix.build_type == 'Debug' && matrix.compiler == 'gcc' && runner.os == 'Linux'
|
|
73
|
+
with:
|
|
74
|
+
files: ./coverage.info
|
|
75
|
+
flags: unittests
|
|
76
|
+
fail_ci_if_error: false
|
|
77
|
+
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
name: .NET Lint
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [ master, main, develop ]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [ '**' ]
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
lint:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
|
|
13
|
-
steps:
|
|
14
|
-
- uses: actions/checkout@v5
|
|
15
|
-
|
|
16
|
-
- name: Setup .NET
|
|
17
|
-
uses: actions/setup-dotnet@v4
|
|
18
|
-
with:
|
|
19
|
-
dotnet-version: '8.0.x'
|
|
20
|
-
|
|
21
|
-
- name: Restore dependencies
|
|
22
|
-
run: dotnet restore
|
|
23
|
-
|
|
24
|
-
- name: Format check
|
|
25
|
-
run: dotnet format --verify-no-changes --no-restore
|
|
26
|
-
|
|
27
|
-
- name: Build with warnings as errors
|
|
28
|
-
run: dotnet build --no-restore --configuration Release /warnaserror
|
|
29
|
-
|
|
1
|
+
name: .NET Lint
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ master, main, develop ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ '**' ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
lint:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v5
|
|
15
|
+
|
|
16
|
+
- name: Setup .NET
|
|
17
|
+
uses: actions/setup-dotnet@v4
|
|
18
|
+
with:
|
|
19
|
+
dotnet-version: '8.0.x'
|
|
20
|
+
|
|
21
|
+
- name: Restore dependencies
|
|
22
|
+
run: dotnet restore
|
|
23
|
+
|
|
24
|
+
- name: Format check
|
|
25
|
+
run: dotnet format --verify-no-changes --no-restore
|
|
26
|
+
|
|
27
|
+
- name: Build with warnings as errors
|
|
28
|
+
run: dotnet build --no-restore --configuration Release /warnaserror
|
|
29
|
+
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
name: Publish to NuGet
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
release:
|
|
5
|
-
types: [published]
|
|
6
|
-
workflow_dispatch:
|
|
7
|
-
inputs:
|
|
8
|
-
tag:
|
|
9
|
-
description: 'Tag to publish (e.g., v1.0.0)'
|
|
10
|
-
required: true
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
publish:
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
|
|
16
|
-
steps:
|
|
17
|
-
- uses: actions/checkout@v5
|
|
18
|
-
with:
|
|
19
|
-
ref: ${{ github.event.inputs.tag || github.ref }}
|
|
20
|
-
|
|
21
|
-
- name: Setup .NET
|
|
22
|
-
uses: actions/setup-dotnet@v4
|
|
23
|
-
with:
|
|
24
|
-
dotnet-version: '8.0.x'
|
|
25
|
-
|
|
26
|
-
- name: Restore dependencies
|
|
27
|
-
run: dotnet restore
|
|
28
|
-
|
|
29
|
-
- name: Build
|
|
30
|
-
run: dotnet build --configuration Release --no-restore
|
|
31
|
-
|
|
32
|
-
- name: Run tests
|
|
33
|
-
run: dotnet test --configuration Release --no-build
|
|
34
|
-
|
|
35
|
-
- name: Pack
|
|
36
|
-
run: dotnet pack --configuration Release --no-build --output nupkgs
|
|
37
|
-
|
|
38
|
-
- name: Publish to NuGet
|
|
39
|
-
run: dotnet nuget push nupkgs/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
|
|
40
|
-
|
|
1
|
+
name: Publish to NuGet
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
inputs:
|
|
8
|
+
tag:
|
|
9
|
+
description: 'Tag to publish (e.g., v1.0.0)'
|
|
10
|
+
required: true
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
publish:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v5
|
|
18
|
+
with:
|
|
19
|
+
ref: ${{ github.event.inputs.tag || github.ref }}
|
|
20
|
+
|
|
21
|
+
- name: Setup .NET
|
|
22
|
+
uses: actions/setup-dotnet@v4
|
|
23
|
+
with:
|
|
24
|
+
dotnet-version: '8.0.x'
|
|
25
|
+
|
|
26
|
+
- name: Restore dependencies
|
|
27
|
+
run: dotnet restore
|
|
28
|
+
|
|
29
|
+
- name: Build
|
|
30
|
+
run: dotnet build --configuration Release --no-restore
|
|
31
|
+
|
|
32
|
+
- name: Run tests
|
|
33
|
+
run: dotnet test --configuration Release --no-build
|
|
34
|
+
|
|
35
|
+
- name: Pack
|
|
36
|
+
run: dotnet pack --configuration Release --no-build --output nupkgs
|
|
37
|
+
|
|
38
|
+
- name: Publish to NuGet
|
|
39
|
+
run: dotnet nuget push nupkgs/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
|
|
40
|
+
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
name: .NET Tests
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [ master, main, develop ]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [ '**' ]
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
test:
|
|
11
|
-
runs-on: ${{ matrix.os }}
|
|
12
|
-
strategy:
|
|
13
|
-
matrix:
|
|
14
|
-
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
|
15
|
-
dotnet-version: [ '8.0.x' ]
|
|
16
|
-
|
|
17
|
-
steps:
|
|
18
|
-
- uses: actions/checkout@v5
|
|
19
|
-
|
|
20
|
-
- name: Setup .NET
|
|
21
|
-
uses: actions/setup-dotnet@v4
|
|
22
|
-
with:
|
|
23
|
-
dotnet-version: ${{ matrix.dotnet-version }}
|
|
24
|
-
|
|
25
|
-
- name: Restore dependencies
|
|
26
|
-
run: dotnet restore
|
|
27
|
-
|
|
28
|
-
- name: Build
|
|
29
|
-
run: dotnet build --no-restore --configuration Release
|
|
30
|
-
|
|
31
|
-
- name: Run tests
|
|
32
|
-
run: dotnet test --no-build --configuration Release --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
|
|
33
|
-
|
|
34
|
-
- name: Upload coverage to Codecov
|
|
35
|
-
uses: codecov/codecov-action@v4
|
|
36
|
-
if: matrix.os == 'ubuntu-latest'
|
|
37
|
-
with:
|
|
38
|
-
files: ./coverage.opencover.xml
|
|
39
|
-
flags: unittests
|
|
40
|
-
fail_ci_if_error: false
|
|
41
|
-
|
|
1
|
+
name: .NET Tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ master, main, develop ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ '**' ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ${{ matrix.os }}
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
|
15
|
+
dotnet-version: [ '8.0.x' ]
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v5
|
|
19
|
+
|
|
20
|
+
- name: Setup .NET
|
|
21
|
+
uses: actions/setup-dotnet@v4
|
|
22
|
+
with:
|
|
23
|
+
dotnet-version: ${{ matrix.dotnet-version }}
|
|
24
|
+
|
|
25
|
+
- name: Restore dependencies
|
|
26
|
+
run: dotnet restore
|
|
27
|
+
|
|
28
|
+
- name: Build
|
|
29
|
+
run: dotnet build --no-restore --configuration Release
|
|
30
|
+
|
|
31
|
+
- name: Run tests
|
|
32
|
+
run: dotnet test --no-build --configuration Release --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
|
|
33
|
+
|
|
34
|
+
- name: Upload coverage to Codecov
|
|
35
|
+
uses: codecov/codecov-action@v4
|
|
36
|
+
if: matrix.os == 'ubuntu-latest'
|
|
37
|
+
with:
|
|
38
|
+
files: ./coverage.opencover.xml
|
|
39
|
+
flags: unittests
|
|
40
|
+
fail_ci_if_error: false
|
|
41
|
+
|