@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,44 +1,44 @@
|
|
|
1
|
-
name: Swift Tests
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [ master, main, develop ]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [ '**' ]
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
test:
|
|
11
|
-
runs-on: macos-latest
|
|
12
|
-
|
|
13
|
-
strategy:
|
|
14
|
-
matrix:
|
|
15
|
-
swift-version: [ '5.10' ]
|
|
16
|
-
|
|
17
|
-
steps:
|
|
18
|
-
- uses: actions/checkout@v5
|
|
19
|
-
|
|
20
|
-
- name: Select Xcode version
|
|
21
|
-
run: sudo xcode-select -s /Applications/Xcode_15.2.app
|
|
22
|
-
|
|
23
|
-
- name: Swift version
|
|
24
|
-
run: swift --version
|
|
25
|
-
|
|
26
|
-
- name: Build
|
|
27
|
-
run: swift build -v
|
|
28
|
-
|
|
29
|
-
- name: Run tests
|
|
30
|
-
run: swift test -v --enable-code-coverage
|
|
31
|
-
|
|
32
|
-
- name: Generate coverage report
|
|
33
|
-
run: |
|
|
34
|
-
xcrun llvm-cov export -format="lcov" \
|
|
35
|
-
.build/debug/YourPackagePackageTests.xctest/Contents/MacOS/YourPackagePackageTests \
|
|
36
|
-
-instr-profile .build/debug/codecov/default.profdata > coverage.lcov
|
|
37
|
-
|
|
38
|
-
- name: Upload coverage to Codecov
|
|
39
|
-
uses: codecov/codecov-action@v4
|
|
40
|
-
with:
|
|
41
|
-
files: ./coverage.lcov
|
|
42
|
-
flags: unittests
|
|
43
|
-
fail_ci_if_error: false
|
|
44
|
-
|
|
1
|
+
name: Swift Tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ master, main, develop ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ '**' ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: macos-latest
|
|
12
|
+
|
|
13
|
+
strategy:
|
|
14
|
+
matrix:
|
|
15
|
+
swift-version: [ '5.10' ]
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v5
|
|
19
|
+
|
|
20
|
+
- name: Select Xcode version
|
|
21
|
+
run: sudo xcode-select -s /Applications/Xcode_15.2.app
|
|
22
|
+
|
|
23
|
+
- name: Swift version
|
|
24
|
+
run: swift --version
|
|
25
|
+
|
|
26
|
+
- name: Build
|
|
27
|
+
run: swift build -v
|
|
28
|
+
|
|
29
|
+
- name: Run tests
|
|
30
|
+
run: swift test -v --enable-code-coverage
|
|
31
|
+
|
|
32
|
+
- name: Generate coverage report
|
|
33
|
+
run: |
|
|
34
|
+
xcrun llvm-cov export -format="lcov" \
|
|
35
|
+
.build/debug/YourPackagePackageTests.xctest/Contents/MacOS/YourPackagePackageTests \
|
|
36
|
+
-instr-profile .build/debug/codecov/default.profdata > coverage.lcov
|
|
37
|
+
|
|
38
|
+
- name: Upload coverage to Codecov
|
|
39
|
+
uses: codecov/codecov-action@v4
|
|
40
|
+
with:
|
|
41
|
+
files: ./coverage.lcov
|
|
42
|
+
flags: unittests
|
|
43
|
+
fail_ci_if_error: false
|
|
44
|
+
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
name: Publish to npm
|
|
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
|
-
permissions:
|
|
16
|
-
contents: read
|
|
17
|
-
id-token: write # For npm provenance
|
|
18
|
-
|
|
19
|
-
steps:
|
|
20
|
-
- uses: actions/checkout@v5
|
|
21
|
-
with:
|
|
22
|
-
ref: ${{ github.event.inputs.tag || github.ref }}
|
|
23
|
-
|
|
24
|
-
# IMPORTANT: For cache to work, you MUST commit package-lock.json
|
|
25
|
-
# Remove package-lock.json from .gitignore if needed
|
|
26
|
-
|
|
27
|
-
- name: Setup Node.js
|
|
28
|
-
uses: actions/setup-node@v4
|
|
29
|
-
with:
|
|
30
|
-
node-version: '20.x'
|
|
31
|
-
registry-url: 'https://registry.npmjs.org'
|
|
32
|
-
cache: 'npm'
|
|
33
|
-
|
|
34
|
-
- name: Install dependencies
|
|
35
|
-
run: npm ci
|
|
36
|
-
|
|
37
|
-
- name: Run tests
|
|
38
|
-
run: npm test
|
|
39
|
-
|
|
40
|
-
- name: Build
|
|
41
|
-
run: npm run build
|
|
42
|
-
|
|
43
|
-
- name: Verify package contents
|
|
44
|
-
run: |
|
|
45
|
-
npm pack --dry-run
|
|
46
|
-
echo "Package contents verified"
|
|
47
|
-
|
|
48
|
-
- name: Publish to npm
|
|
49
|
-
run: npm publish --provenance --access public
|
|
50
|
-
env:
|
|
51
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
52
|
-
|
|
53
|
-
- name: Create GitHub Release Notes
|
|
54
|
-
if: github.event_name == 'release'
|
|
55
|
-
uses: actions/github-script@v7
|
|
56
|
-
with:
|
|
57
|
-
script: |
|
|
58
|
-
const package = require('./package.json');
|
|
59
|
-
console.log(`Published ${package.name}@${package.version} to npm`);
|
|
60
|
-
|
|
1
|
+
name: Publish to npm
|
|
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
|
+
permissions:
|
|
16
|
+
contents: read
|
|
17
|
+
id-token: write # For npm provenance
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v5
|
|
21
|
+
with:
|
|
22
|
+
ref: ${{ github.event.inputs.tag || github.ref }}
|
|
23
|
+
|
|
24
|
+
# IMPORTANT: For cache to work, you MUST commit package-lock.json
|
|
25
|
+
# Remove package-lock.json from .gitignore if needed
|
|
26
|
+
|
|
27
|
+
- name: Setup Node.js
|
|
28
|
+
uses: actions/setup-node@v4
|
|
29
|
+
with:
|
|
30
|
+
node-version: '20.x'
|
|
31
|
+
registry-url: 'https://registry.npmjs.org'
|
|
32
|
+
cache: 'npm'
|
|
33
|
+
|
|
34
|
+
- name: Install dependencies
|
|
35
|
+
run: npm ci
|
|
36
|
+
|
|
37
|
+
- name: Run tests
|
|
38
|
+
run: npm test
|
|
39
|
+
|
|
40
|
+
- name: Build
|
|
41
|
+
run: npm run build
|
|
42
|
+
|
|
43
|
+
- name: Verify package contents
|
|
44
|
+
run: |
|
|
45
|
+
npm pack --dry-run
|
|
46
|
+
echo "Package contents verified"
|
|
47
|
+
|
|
48
|
+
- name: Publish to npm
|
|
49
|
+
run: npm publish --provenance --access public
|
|
50
|
+
env:
|
|
51
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
52
|
+
|
|
53
|
+
- name: Create GitHub Release Notes
|
|
54
|
+
if: github.event_name == 'release'
|
|
55
|
+
uses: actions/github-script@v7
|
|
56
|
+
with:
|
|
57
|
+
script: |
|
|
58
|
+
const package = require('./package.json');
|
|
59
|
+
console.log(`Published ${package.name}@${package.version} to npm`);
|
|
60
|
+
|
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
name: TypeScript 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
|
-
fail-fast: false # See all platform results even if one fails
|
|
14
|
-
matrix:
|
|
15
|
-
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
|
16
|
-
node-version: [ 18.x, 20.x ]
|
|
17
|
-
|
|
18
|
-
steps:
|
|
19
|
-
- uses: actions/checkout@v5
|
|
20
|
-
|
|
21
|
-
# IMPORTANT: For cache to work, you MUST commit package-lock.json
|
|
22
|
-
# Remove package-lock.json from .gitignore if needed
|
|
23
|
-
|
|
24
|
-
# For pnpm projects, add this step before setup-node:
|
|
25
|
-
# - name: Install pnpm
|
|
26
|
-
# uses: pnpm/action-setup@v3
|
|
27
|
-
# with:
|
|
28
|
-
# version: 8
|
|
29
|
-
|
|
30
|
-
- name: Setup Node.js ${{ matrix.node-version }}
|
|
31
|
-
uses: actions/setup-node@v5
|
|
32
|
-
with:
|
|
33
|
-
node-version: ${{ matrix.node-version }}
|
|
34
|
-
# MONOREPO: Uncomment and adjust path if in monorepo subdirectory
|
|
35
|
-
# cache: 'npm' # Change to 'pnpm' or 'yarn' as needed
|
|
36
|
-
# cache-dependency-path: 'subdirectory/package-lock.json'
|
|
37
|
-
# Note: Cache may fail in monorepo - disable if you get path resolution errors
|
|
38
|
-
|
|
39
|
-
- name: Install dependencies
|
|
40
|
-
# MONOREPO: Add working-directory if in subdirectory
|
|
41
|
-
# working-directory: ./subdirectory
|
|
42
|
-
run: npm ci # For pnpm: pnpm install --frozen-lockfile | For yarn: yarn install --frozen-lockfile
|
|
43
|
-
|
|
44
|
-
- name: Run tests
|
|
45
|
-
# MONOREPO: Add working-directory if in subdirectory
|
|
46
|
-
# working-directory: ./subdirectory
|
|
47
|
-
run: npm test # For pnpm: pnpm test | For yarn: yarn test
|
|
48
|
-
|
|
49
|
-
- name: Generate coverage report
|
|
50
|
-
# MONOREPO: Add working-directory if in subdirectory
|
|
51
|
-
# working-directory: ./subdirectory
|
|
52
|
-
run: npm run test:coverage # For pnpm: pnpm run test:coverage | For yarn: yarn test:coverage
|
|
53
|
-
continue-on-error: true # Allow workflow to continue if coverage not configured
|
|
54
|
-
|
|
55
|
-
- name: Upload coverage to Codecov
|
|
56
|
-
uses: codecov/codecov-action@v4
|
|
57
|
-
if: matrix.os == 'ubuntu-latest' && matrix.node-version == '20.x' && github.event_name == 'push'
|
|
58
|
-
with:
|
|
59
|
-
files: ./coverage/lcov.info
|
|
60
|
-
flags: unittests
|
|
61
|
-
fail_ci_if_error: false
|
|
62
|
-
|
|
63
|
-
- name: Security audit
|
|
64
|
-
run: |
|
|
65
|
-
echo "Running security audit..."
|
|
66
|
-
npm audit --production --audit-level=moderate || true
|
|
67
|
-
echo "Checking for outdated dependencies..."
|
|
68
|
-
npm outdated || true
|
|
69
|
-
|
|
70
|
-
- name: Check for unused dependencies
|
|
71
|
-
run: npx depcheck || true
|
|
72
|
-
continue-on-error: true
|
|
73
|
-
|
|
1
|
+
name: TypeScript 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
|
+
fail-fast: false # See all platform results even if one fails
|
|
14
|
+
matrix:
|
|
15
|
+
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
|
16
|
+
node-version: [ 18.x, 20.x ]
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v5
|
|
20
|
+
|
|
21
|
+
# IMPORTANT: For cache to work, you MUST commit package-lock.json
|
|
22
|
+
# Remove package-lock.json from .gitignore if needed
|
|
23
|
+
|
|
24
|
+
# For pnpm projects, add this step before setup-node:
|
|
25
|
+
# - name: Install pnpm
|
|
26
|
+
# uses: pnpm/action-setup@v3
|
|
27
|
+
# with:
|
|
28
|
+
# version: 8
|
|
29
|
+
|
|
30
|
+
- name: Setup Node.js ${{ matrix.node-version }}
|
|
31
|
+
uses: actions/setup-node@v5
|
|
32
|
+
with:
|
|
33
|
+
node-version: ${{ matrix.node-version }}
|
|
34
|
+
# MONOREPO: Uncomment and adjust path if in monorepo subdirectory
|
|
35
|
+
# cache: 'npm' # Change to 'pnpm' or 'yarn' as needed
|
|
36
|
+
# cache-dependency-path: 'subdirectory/package-lock.json'
|
|
37
|
+
# Note: Cache may fail in monorepo - disable if you get path resolution errors
|
|
38
|
+
|
|
39
|
+
- name: Install dependencies
|
|
40
|
+
# MONOREPO: Add working-directory if in subdirectory
|
|
41
|
+
# working-directory: ./subdirectory
|
|
42
|
+
run: npm ci # For pnpm: pnpm install --frozen-lockfile | For yarn: yarn install --frozen-lockfile
|
|
43
|
+
|
|
44
|
+
- name: Run tests
|
|
45
|
+
# MONOREPO: Add working-directory if in subdirectory
|
|
46
|
+
# working-directory: ./subdirectory
|
|
47
|
+
run: npm test # For pnpm: pnpm test | For yarn: yarn test
|
|
48
|
+
|
|
49
|
+
- name: Generate coverage report
|
|
50
|
+
# MONOREPO: Add working-directory if in subdirectory
|
|
51
|
+
# working-directory: ./subdirectory
|
|
52
|
+
run: npm run test:coverage # For pnpm: pnpm run test:coverage | For yarn: yarn test:coverage
|
|
53
|
+
continue-on-error: true # Allow workflow to continue if coverage not configured
|
|
54
|
+
|
|
55
|
+
- name: Upload coverage to Codecov
|
|
56
|
+
uses: codecov/codecov-action@v4
|
|
57
|
+
if: matrix.os == 'ubuntu-latest' && matrix.node-version == '20.x' && github.event_name == 'push'
|
|
58
|
+
with:
|
|
59
|
+
files: ./coverage/lcov.info
|
|
60
|
+
flags: unittests
|
|
61
|
+
fail_ci_if_error: false
|
|
62
|
+
|
|
63
|
+
- name: Security audit
|
|
64
|
+
run: |
|
|
65
|
+
echo "Running security audit..."
|
|
66
|
+
npm audit --production --audit-level=moderate || true
|
|
67
|
+
echo "Checking for outdated dependencies..."
|
|
68
|
+
npm outdated || true
|
|
69
|
+
|
|
70
|
+
- name: Check for unused dependencies
|
|
71
|
+
run: npx depcheck || true
|
|
72
|
+
continue-on-error: true
|
|
73
|
+
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
name: Zig 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 Zig
|
|
17
|
-
uses: goto-bus-stop/setup-zig@v2
|
|
18
|
-
with:
|
|
19
|
-
version: '0.13.0'
|
|
20
|
-
|
|
21
|
-
- name: Check formatting
|
|
22
|
-
run: zig fmt --check src/ tests/
|
|
23
|
-
|
|
24
|
-
- name: Build check
|
|
25
|
-
run: zig build -Doptimize=ReleaseFast
|
|
26
|
-
|
|
27
|
-
|
|
1
|
+
name: Zig 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 Zig
|
|
17
|
+
uses: goto-bus-stop/setup-zig@v2
|
|
18
|
+
with:
|
|
19
|
+
version: '0.13.0'
|
|
20
|
+
|
|
21
|
+
- name: Check formatting
|
|
22
|
+
run: zig fmt --check src/ tests/
|
|
23
|
+
|
|
24
|
+
- name: Build check
|
|
25
|
+
run: zig build -Doptimize=ReleaseFast
|
|
26
|
+
|
|
27
|
+
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
name: Zig 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
|
-
zig-version: [ '0.13.0', 'master' ]
|
|
16
|
-
|
|
17
|
-
steps:
|
|
18
|
-
- uses: actions/checkout@v5
|
|
19
|
-
|
|
20
|
-
- name: Setup Zig
|
|
21
|
-
uses: goto-bus-stop/setup-zig@v2
|
|
22
|
-
with:
|
|
23
|
-
version: ${{ matrix.zig-version }}
|
|
24
|
-
|
|
25
|
-
- name: Build (Debug)
|
|
26
|
-
run: zig build -Doptimize=Debug
|
|
27
|
-
|
|
28
|
-
- name: Build (ReleaseSafe)
|
|
29
|
-
run: zig build -Doptimize=ReleaseSafe
|
|
30
|
-
|
|
31
|
-
- name: Build (ReleaseFast)
|
|
32
|
-
run: zig build -Doptimize=ReleaseFast
|
|
33
|
-
|
|
34
|
-
- name: Run tests
|
|
35
|
-
run: zig build test
|
|
36
|
-
|
|
37
|
-
- name: Test with coverage
|
|
38
|
-
run: zig build test --summary all
|
|
39
|
-
|
|
40
|
-
|
|
1
|
+
name: Zig 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
|
+
zig-version: [ '0.13.0', 'master' ]
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v5
|
|
19
|
+
|
|
20
|
+
- name: Setup Zig
|
|
21
|
+
uses: goto-bus-stop/setup-zig@v2
|
|
22
|
+
with:
|
|
23
|
+
version: ${{ matrix.zig-version }}
|
|
24
|
+
|
|
25
|
+
- name: Build (Debug)
|
|
26
|
+
run: zig build -Doptimize=Debug
|
|
27
|
+
|
|
28
|
+
- name: Build (ReleaseSafe)
|
|
29
|
+
run: zig build -Doptimize=ReleaseSafe
|
|
30
|
+
|
|
31
|
+
- name: Build (ReleaseFast)
|
|
32
|
+
run: zig build -Doptimize=ReleaseFast
|
|
33
|
+
|
|
34
|
+
- name: Run tests
|
|
35
|
+
run: zig build test
|
|
36
|
+
|
|
37
|
+
- name: Test with coverage
|
|
38
|
+
run: zig build test --summary all
|
|
39
|
+
|
|
40
|
+
|