Skip to content

Commit a4ec478

Browse files
authored
Initial commit
0 parents  commit a4ec478

30 files changed

Lines changed: 3138 additions & 0 deletions

.dockerignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
**/.env*
2+
**/.next
3+
**/node_modules
4+
**/npm-debug.log
5+
.git

.editorconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
root = true
2+
3+
[*]
4+
charset=utf-8
5+
end_of_line=lf
6+
indent_size=tab
7+
indent_style=tab
8+
insert_final_newline=true
9+
max_line_length=100
10+
tab_width=4
11+
trim_trailing_whitespace=true
12+
13+
[*.{sh,yml,yaml}]
14+
indent_size=2
15+
indent_style=space

.github/dependabot.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: 'cargo'
4+
directory: '/'
5+
schedule:
6+
interval: 'daily'
7+
time: '00:00'
8+
labels:
9+
- 'bot'
10+
- 'dependencies'
11+
- package-ecosystem: 'github-actions'
12+
directory: '/'
13+
schedule:
14+
interval: 'daily'
15+
time: '00:00'
16+
labels:
17+
- 'bot'
18+
- 'dependencies'

.github/rulesets/any.json

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
{
2+
"id": 12430557,
3+
"name": "any",
4+
"target": "branch",
5+
"source_type": "Repository",
6+
"source": "hack-ink/ELF",
7+
"enforcement": "active",
8+
"conditions": {
9+
"ref_name": {
10+
"exclude": [],
11+
"include": [
12+
"~ALL"
13+
]
14+
}
15+
},
16+
"rules": [
17+
{
18+
"type": "required_signatures"
19+
},
20+
{
21+
"type": "code_scanning",
22+
"parameters": {
23+
"code_scanning_tools": [
24+
{
25+
"tool": "CodeQL",
26+
"security_alerts_threshold": "high_or_higher",
27+
"alerts_threshold": "errors"
28+
}
29+
]
30+
}
31+
},
32+
{
33+
"type": "code_quality",
34+
"parameters": {
35+
"severity": "errors"
36+
}
37+
},
38+
{
39+
"type": "copilot_code_review",
40+
"parameters": {
41+
"review_on_push": true,
42+
"review_draft_pull_requests": true
43+
}
44+
},
45+
{
46+
"type": "copilot_code_review_analysis_tools",
47+
"parameters": {
48+
"tools": [
49+
{
50+
"name": "CodeQL"
51+
},
52+
{
53+
"name": "ESLint"
54+
},
55+
{
56+
"name": "PMD"
57+
}
58+
]
59+
}
60+
}
61+
],
62+
"bypass_actors": [
63+
{
64+
"actor_id": null,
65+
"actor_type": "OrganizationAdmin",
66+
"bypass_mode": "always"
67+
},
68+
{
69+
"actor_id": null,
70+
"actor_type": "DeployKey",
71+
"bypass_mode": "always"
72+
},
73+
{
74+
"actor_id": 5,
75+
"actor_type": "RepositoryRole",
76+
"bypass_mode": "always"
77+
}
78+
]
79+
}

.github/rulesets/default.json

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
{
2+
"id": 12430561,
3+
"name": "default",
4+
"target": "branch",
5+
"source_type": "Repository",
6+
"source": "hack-ink/ELF",
7+
"enforcement": "active",
8+
"conditions": {
9+
"ref_name": {
10+
"exclude": [],
11+
"include": [
12+
"~DEFAULT_BRANCH"
13+
]
14+
}
15+
},
16+
"rules": [
17+
{
18+
"type": "deletion"
19+
},
20+
{
21+
"type": "non_fast_forward"
22+
},
23+
{
24+
"type": "creation"
25+
},
26+
{
27+
"type": "required_linear_history"
28+
},
29+
{
30+
"type": "merge_queue",
31+
"parameters": {
32+
"merge_method": "SQUASH",
33+
"max_entries_to_build": 5,
34+
"min_entries_to_merge": 1,
35+
"max_entries_to_merge": 5,
36+
"min_entries_to_merge_wait_minutes": 5,
37+
"grouping_strategy": "ALLGREEN",
38+
"check_response_timeout_minutes": 60
39+
}
40+
},
41+
{
42+
"type": "required_signatures"
43+
},
44+
{
45+
"type": "pull_request",
46+
"parameters": {
47+
"required_approving_review_count": 0,
48+
"dismiss_stale_reviews_on_push": true,
49+
"required_reviewers": [],
50+
"require_code_owner_review": false,
51+
"require_last_push_approval": false,
52+
"required_review_thread_resolution": true,
53+
"allowed_merge_methods": [
54+
"squash"
55+
]
56+
}
57+
},
58+
{
59+
"type": "required_status_checks",
60+
"parameters": {
61+
"strict_required_status_checks_policy": false,
62+
"do_not_enforce_on_create": false,
63+
"required_status_checks": [
64+
{
65+
"context": "Task cargo clippy",
66+
"integration_id": 15368
67+
},
68+
{
69+
"context": "Task cargo fmt",
70+
"integration_id": 15368
71+
},
72+
{
73+
"context": "Task cargo nextest",
74+
"integration_id": 15368
75+
}
76+
]
77+
}
78+
},
79+
{
80+
"type": "code_scanning",
81+
"parameters": {
82+
"code_scanning_tools": [
83+
{
84+
"tool": "CodeQL",
85+
"security_alerts_threshold": "high_or_higher",
86+
"alerts_threshold": "errors"
87+
}
88+
]
89+
}
90+
},
91+
{
92+
"type": "code_quality",
93+
"parameters": {
94+
"severity": "errors"
95+
}
96+
},
97+
{
98+
"type": "copilot_code_review_analysis_tools",
99+
"parameters": {
100+
"tools": [
101+
{
102+
"name": "CodeQL"
103+
},
104+
{
105+
"name": "ESLint"
106+
},
107+
{
108+
"name": "PMD"
109+
}
110+
]
111+
}
112+
},
113+
{
114+
"type": "copilot_code_review",
115+
"parameters": {
116+
"review_on_push": true,
117+
"review_draft_pull_requests": false
118+
}
119+
}
120+
],
121+
"bypass_actors": [
122+
{
123+
"actor_id": null,
124+
"actor_type": "OrganizationAdmin",
125+
"bypass_mode": "always"
126+
},
127+
{
128+
"actor_id": null,
129+
"actor_type": "DeployKey",
130+
"bypass_mode": "always"
131+
},
132+
{
133+
"actor_id": 5,
134+
"actor_type": "RepositoryRole",
135+
"bypass_mode": "always"
136+
}
137+
]
138+
}

.github/workflows/language.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Language Checks
2+
3+
permissions:
4+
contents: read
5+
pull-requests: read
6+
7+
on:
8+
push:
9+
branches: [main]
10+
paths-ignore:
11+
- '**/*.md'
12+
- '.gitignore'
13+
- 'docs/**'
14+
pull_request:
15+
branches: [main]
16+
paths-ignore:
17+
- '**/*.md'
18+
- '.gitignore'
19+
- 'docs/**'
20+
merge_group:
21+
paths-ignore:
22+
- '**/*.md'
23+
- '.gitignore'
24+
- 'docs/**'
25+
26+
concurrency:
27+
group: ${{ github.workflow }}-${{ github.ref }}
28+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
29+
30+
jobs:
31+
rust:
32+
name: Rust checks
33+
runs-on: ubuntu-latest
34+
steps:
35+
- name: Fetch latest code
36+
uses: actions/checkout@v6
37+
38+
- name: Set up Rust toolchain
39+
uses: actions-rust-lang/setup-rust-toolchain@v1
40+
with:
41+
cache: true
42+
rustflags: ''
43+
components: rustfmt, clippy
44+
45+
- name: Install nightly rustfmt
46+
run: rustup toolchain install nightly --component rustfmt
47+
48+
- name: Install cargo-make
49+
uses: taiki-e/install-action@v2
50+
with:
51+
tool: cargo-make
52+
53+
- name: Run lint
54+
run: cargo make lint-rust
55+
56+
- name: Run Rust format checks
57+
run: cargo make fmt-rust-check
58+
59+
- name: Install taplo
60+
uses: taiki-e/install-action@v2
61+
with:
62+
tool: taplo
63+
64+
- name: Run TOML format checks
65+
run: cargo make fmt-toml-check
66+
67+
- name: Install nextest
68+
uses: taiki-e/install-action@v2
69+
with:
70+
tool: nextest
71+
72+
- name: Run tests
73+
run: cargo make test-rust

0 commit comments

Comments
 (0)