Skip to content

Commit 8dc507b

Browse files
authored
Merge pull request #4 from CipherOcto/next [skip release]
fix: ci changes plus governance docs [skip release]
2 parents 514a89c + 799e040 commit 8dc507b

14 files changed

Lines changed: 1662 additions & 1 deletion

.github/dependabot.yml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Dependabot Configuration
2+
# Automated dependency updates
3+
4+
version: 2
5+
updates:
6+
# Rust dependencies
7+
- package-ecosystem: "cargo"
8+
directory: "/"
9+
schedule:
10+
interval: "weekly"
11+
day: "monday"
12+
open-pull-requests-limit: 10
13+
reviewers:
14+
- "mmacedoeu"
15+
labels:
16+
- "dependencies"
17+
- "rust"
18+
commit-message:
19+
prefix: "chore(deps)"
20+
include: "scope"
21+
groups:
22+
# Group all dev dependencies together
23+
dev-dependencies:
24+
patterns:
25+
- "dev-dependencies"
26+
exclude-patterns:
27+
- "*"
28+
# Group prod dependencies together
29+
dependencies:
30+
patterns:
31+
- "dependencies"
32+
exclude-patterns:
33+
- "*"
34+
35+
# GitHub Actions
36+
- package-ecosystem: "github-actions"
37+
directory: "/"
38+
schedule:
39+
interval: "weekly"
40+
day: "monday"
41+
open-pull-requests-limit: 5
42+
labels:
43+
- "ci"
44+
- "dependencies"
45+
commit-message:
46+
prefix: "chore(ci)"
47+
include: "scope"
48+
49+
# npm dependencies (if any)
50+
- package-ecosystem: "npm"
51+
directory: "/"
52+
schedule:
53+
interval: "weekly"
54+
day: "monday"
55+
open-pull-requests-limit: 5
56+
labels:
57+
- "dependencies"
58+
- "javascript"
59+
commit-message:
60+
prefix: "chore(deps)"
61+
include: "scope"
62+
63+
# Python dependencies (if any)
64+
- package-ecosystem: "pip"
65+
directory: "/"
66+
schedule:
67+
interval: "weekly"
68+
day: "monday"
69+
open-pull-requests-limit: 5
70+
labels:
71+
- "dependencies"
72+
- "python"
73+
commit-message:
74+
prefix: "chore(deps)"
75+
include: "scope"

.github/labeler.yml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# PR Auto-Label Configuration
2+
# Labels are applied based on changed files
3+
4+
# Agent-related changes
5+
agent:
6+
- crates/octo-ai/**
7+
- crates/octo-runtime/**
8+
- crates/agents/**
9+
10+
# Protocol/network layer
11+
protocol:
12+
- crates/octo-network/**
13+
- crates/octo-p2p/**
14+
- crates/blockchain/**
15+
16+
# Runtime/execution
17+
runtime:
18+
- crates/octo-runtime/**
19+
- crates/octo-sandbox/**
20+
- crates/executor/**
21+
22+
# Core infrastructure
23+
core:
24+
- crates/octo-core/**
25+
- crates/octo-registry/**
26+
- crates/octo-identity/**
27+
28+
# CLI tools
29+
cli:
30+
- crates/octo-cli/**
31+
- crates/repl/**
32+
33+
# Documentation
34+
docs:
35+
- docs/**
36+
- **/*.md
37+
- .github/**/*.md
38+
39+
# CI/CD
40+
ci:
41+
- .github/workflows/**
42+
- .github/actions/**
43+
44+
# Smart contracts
45+
contracts:
46+
- contracts/**
47+
48+
# Developer tooling
49+
tooling:
50+
- scripts/**
51+
- tools/**
52+
- dev/**
53+
54+
# AI/ML
55+
ai:
56+
- crates/ai/**
57+
- crates/inference/**
58+
- crates/ml/**
59+
60+
# Security
61+
security:
62+
- crates/crypto/**
63+
- crates/security/**
64+
65+
# Testing
66+
testing:
67+
- tests/**
68+
- **/*_test.rs
69+
- **/tests/**
70+
71+
# Dependencies
72+
dependencies:
73+
- Cargo.toml
74+
- Cargo.lock
75+
- package.json
76+
- requirements.txt
77+
- **/Cargo.toml

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
branches: [next, feat/**, agent/**, research/**, hotfix/**]
99
pull_request:
1010
branches: [main, next]
11+
merge_group:
1112

1213
jobs:
1314
build-test:

.github/workflows/coverage.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Code Coverage
2+
# Track test coverage over time
3+
4+
name: Coverage
5+
6+
on:
7+
push:
8+
branches: [main, next]
9+
pull_request:
10+
11+
jobs:
12+
coverage:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- uses: dtolnay/rust-toolchain@stable
19+
with:
20+
components: llvm-tools-preview
21+
22+
- uses: taiki-e/install-action@cargo-llvm-cov
23+
24+
- uses: Swatinem/rust-cache@v2
25+
26+
- name: Generate coverage
27+
run: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info
28+
29+
- name: Upload to Codecov
30+
uses: codecov/codecov-action@v4
31+
continue-on-error: true
32+
with:
33+
files: ./lcov.info
34+
fail_ci_if_error: false
35+
token: ${{ secrets.CODECOV_TOKEN }}
36+
verbose: true
37+
38+
- name: Generate coverage summary
39+
run: |
40+
cargo llvm-cov --all-features --workspace --summary
41+
42+
- name: Check coverage threshold
43+
run: |
44+
COVERAGE=$(cargo llvm-cov --all-features --workspace --summary --output-format=json | jq '.regions.covered')
45+
echo "Coverage: ${COVERAGE}%"

.github/workflows/labels.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Auto-Label Pull Requests
2+
# Classify PRs automatically based on changed files and size
3+
4+
name: Auto-Label PRs
5+
6+
on:
7+
pull_request:
8+
types: [opened, synchronize, reopened]
9+
10+
jobs:
11+
# Label by file type
12+
type-label:
13+
runs-on: ubuntu-latest
14+
permissions:
15+
contents: read
16+
pull-requests: write
17+
18+
steps:
19+
- uses: actions/labeler@v5
20+
with:
21+
configuration-path: .github/labeler.yml
22+
repo-token: ${{ secrets.GITHUB_TOKEN }}
23+
sync-labels: true
24+
25+
# Label by size (lines changed)
26+
size-label:
27+
runs-on: ubuntu-latest
28+
permissions:
29+
contents: read
30+
pull-requests: write
31+
32+
steps:
33+
- uses: actions/checkout@v4
34+
35+
- uses: coverwalletcode/size-label-action@v3.0.0
36+
with:
37+
github_token: ${{ secrets.GITHUB_TOKEN }}
38+
xs_max: '10'
39+
s_max: '50'
40+
m_max: '200'
41+
l_max: '500'
42+
xl_max: '1000'
43+
fail_if_xl: 'false'
44+
message_if_xl: 'This PR is XXL (very large)! Please consider splitting into smaller PRs.'
45+
sizes: |
46+
label:XS, max_lines:10
47+
label:S, max_lines:50
48+
label:M, max_lines:200
49+
label:L, max_lines:500
50+
label:XL, max_lines:1000
51+
label:XXL

.github/workflows/lint.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
branches: [main, next]
99
push:
1010
branches: [next, feat/**, agent/**, research/**, hotfix/**]
11+
merge_group:
1112

1213
jobs:
1314
lint:

.github/workflows/rust.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ on:
55
branches: [next, feat/**, agent/**, research/**, hotfix/**]
66
pull_request:
77
branches: [main, next]
8+
merge_group:
89

910
env:
1011
CARGO_TERM_COLOR: always
@@ -40,7 +41,7 @@ jobs:
4041
msrv:
4142
name: Check MSRV
4243
runs-on: ubuntu-latest
43-
if: github.event_name == 'pull_request'
44+
if: github.event_name == 'pull_request' || github.event_name == 'merge_group'
4445

4546
steps:
4647
- uses: actions/checkout@v4

.github/workflows/security.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
branches: [next, feat/**, agent/**, research/**, hotfix/**]
99
pull_request:
1010
branches: [main, next]
11+
merge_group:
1112
schedule:
1213
- cron: "0 3 * * 1"
1314

0 commit comments

Comments
 (0)