@dougefresh/ci 0.1.12 → 0.1.15
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/.github/actions/jobtaker/action.yml +29 -0
- package/.github/additional-prompt.md +62 -0
- package/.github/workflows/action-review.yml +46 -3
- package/.github/workflows/pr-review.yml +7 -41
- package/.github/workflows/release.yml +4 -7
- package/AGENTS.md +15 -0
- package/action.yml +18 -2
- package/{biome.jsonc → biome.json} +1 -1
- package/bun.lock +39 -0
- package/package.json +3 -1
- package/pre-commit +1 -1
- package/prompt-template.md +180 -0
- package/scripts/bump-version.ts +2 -2
- package/scripts/generate-rust.ts +2 -2
- package/src/defaults.ts +119 -0
- package/src/index.ts +27 -177
- package/src/types.ts +81 -0
- package/.github/copilot-instructions.md +0 -118
- package/dist/ai.d.ts +0 -11
- package/dist/ai.d.ts.map +0 -1
- package/dist/ai.js +0 -52
- package/dist/ai.js.map +0 -1
- package/dist/index.d.ts +0 -106
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -213
- package/dist/index.js.map +0 -1
- package/src/ai.ts +0 -61
package/dist/index.d.ts
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { type AiJob } from './ai.js';
|
|
2
|
-
export declare enum Arch {
|
|
3
|
-
ARM64 = "vars.RUNNER_ARM64",
|
|
4
|
-
AMD64 = "vars.RUNNER_AMD64",
|
|
5
|
-
WIN = "vars.RUNNER_WIN",
|
|
6
|
-
MAC = "vars.RUNNER_MAC"
|
|
7
|
-
}
|
|
8
|
-
interface Global {
|
|
9
|
-
packages: {
|
|
10
|
-
Linux?: string;
|
|
11
|
-
macOS?: string;
|
|
12
|
-
Windows?: string;
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
interface BaseJob {
|
|
16
|
-
if: boolean | string;
|
|
17
|
-
continueOnError: boolean | string;
|
|
18
|
-
run?: string;
|
|
19
|
-
}
|
|
20
|
-
interface Matrix {
|
|
21
|
-
os: Arch[];
|
|
22
|
-
toolchains: string[];
|
|
23
|
-
features: string[];
|
|
24
|
-
}
|
|
25
|
-
interface Fmt extends BaseJob {
|
|
26
|
-
}
|
|
27
|
-
interface SemVer extends BaseJob {
|
|
28
|
-
}
|
|
29
|
-
interface Hack extends BaseJob {
|
|
30
|
-
}
|
|
31
|
-
interface CargoSort extends BaseJob {
|
|
32
|
-
}
|
|
33
|
-
interface DocCheck extends BaseJob {
|
|
34
|
-
}
|
|
35
|
-
interface Dependencies extends BaseJob {
|
|
36
|
-
}
|
|
37
|
-
interface Extra extends BaseJob {
|
|
38
|
-
name: string;
|
|
39
|
-
matrix: Matrix;
|
|
40
|
-
}
|
|
41
|
-
interface Sanitizers {
|
|
42
|
-
enabled: boolean;
|
|
43
|
-
address: BaseJob;
|
|
44
|
-
leak: BaseJob;
|
|
45
|
-
thread: BaseJob;
|
|
46
|
-
}
|
|
47
|
-
interface Clippy extends BaseJob {
|
|
48
|
-
flags: string;
|
|
49
|
-
matrix: Matrix;
|
|
50
|
-
}
|
|
51
|
-
interface Coverage extends BaseJob {
|
|
52
|
-
matrix: Matrix;
|
|
53
|
-
}
|
|
54
|
-
interface RustJobs {
|
|
55
|
-
clippy: Clippy;
|
|
56
|
-
coverage: Coverage;
|
|
57
|
-
cargoSort: CargoSort;
|
|
58
|
-
dependencies: Dependencies;
|
|
59
|
-
docCheck: DocCheck;
|
|
60
|
-
fmt: Fmt;
|
|
61
|
-
hack: Hack;
|
|
62
|
-
sanitizers: Sanitizers;
|
|
63
|
-
semver: SemVer;
|
|
64
|
-
extra: Extra;
|
|
65
|
-
}
|
|
66
|
-
interface Release {
|
|
67
|
-
bin: boolean;
|
|
68
|
-
publish: boolean;
|
|
69
|
-
debian: boolean;
|
|
70
|
-
profile: string;
|
|
71
|
-
os: Arch[];
|
|
72
|
-
}
|
|
73
|
-
export declare const JobDefaults: RustJobs;
|
|
74
|
-
export declare class RustWorkflow {
|
|
75
|
-
private jobs;
|
|
76
|
-
private global;
|
|
77
|
-
private release;
|
|
78
|
-
private ai;
|
|
79
|
-
constructor();
|
|
80
|
-
linuxPackages(packages: string[]): this;
|
|
81
|
-
semver(enable: boolean): this;
|
|
82
|
-
extra(name: string, run: string): this;
|
|
83
|
-
withRelease(r: Release): this;
|
|
84
|
-
clippy(opts?: Partial<Clippy>): this;
|
|
85
|
-
disableSanitizers(): this;
|
|
86
|
-
disableAi(): this;
|
|
87
|
-
additionalPrompt(prompt: string): this;
|
|
88
|
-
build(): {
|
|
89
|
-
ai: AiJob;
|
|
90
|
-
release: {
|
|
91
|
-
bin: boolean;
|
|
92
|
-
publish: boolean;
|
|
93
|
-
debian: boolean;
|
|
94
|
-
profile: string;
|
|
95
|
-
matrix: {
|
|
96
|
-
os: Arch[];
|
|
97
|
-
target: string[];
|
|
98
|
-
};
|
|
99
|
-
};
|
|
100
|
-
global: Global;
|
|
101
|
-
jobs: RustJobs;
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
export declare function createRustWorkflow(): RustWorkflow;
|
|
105
|
-
export {};
|
|
106
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
DELETED
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { PROMPT } from './ai.js';
|
|
2
|
-
export { Arch };
|
|
3
|
-
var Arch;
|
|
4
|
-
(function (Arch) {
|
|
5
|
-
Arch["ARM64"] = "vars.RUNNER_ARM64";
|
|
6
|
-
Arch["AMD64"] = "vars.RUNNER_AMD64";
|
|
7
|
-
Arch["WIN"] = "vars.RUNNER_WIN";
|
|
8
|
-
Arch["MAC"] = "vars.RUNNER_MAC";
|
|
9
|
-
})(Arch || (Arch = {}));
|
|
10
|
-
export const JobDefaults = {
|
|
11
|
-
fmt: {
|
|
12
|
-
if: true,
|
|
13
|
-
continueOnError: false,
|
|
14
|
-
run: 'cargo +nightly fmt --check --all',
|
|
15
|
-
},
|
|
16
|
-
semver: {
|
|
17
|
-
if: true,
|
|
18
|
-
continueOnError: false,
|
|
19
|
-
},
|
|
20
|
-
hack: {
|
|
21
|
-
if: true,
|
|
22
|
-
continueOnError: false,
|
|
23
|
-
run: 'cargo hack --feature-powerset check',
|
|
24
|
-
},
|
|
25
|
-
docCheck: {
|
|
26
|
-
if: true,
|
|
27
|
-
continueOnError: false,
|
|
28
|
-
run: 'cargo +nightly docs-rs',
|
|
29
|
-
},
|
|
30
|
-
cargoSort: {
|
|
31
|
-
if: true,
|
|
32
|
-
continueOnError: false,
|
|
33
|
-
run: 'if [ -f ./scripts/cargo-sort.sh ]; then\n ./scripts/cargo-sort.sh\nelse\n cargo sort -c -g\nfi\n',
|
|
34
|
-
},
|
|
35
|
-
dependencies: {
|
|
36
|
-
if: true,
|
|
37
|
-
continueOnError: false,
|
|
38
|
-
run: 'cargo machete --with-metadata',
|
|
39
|
-
},
|
|
40
|
-
sanitizers: {
|
|
41
|
-
enabled: true,
|
|
42
|
-
address: {
|
|
43
|
-
if: true,
|
|
44
|
-
continueOnError: false,
|
|
45
|
-
run: 'cargo test --lib --tests --no-fail-fast --target x86_64-unknown-linux-gnu -- --no-capture',
|
|
46
|
-
},
|
|
47
|
-
leak: {
|
|
48
|
-
if: true,
|
|
49
|
-
continueOnError: false,
|
|
50
|
-
run: 'cargo test --target x86_64-unknown-linux-gnu -- --no-capture',
|
|
51
|
-
},
|
|
52
|
-
thread: {
|
|
53
|
-
if: false,
|
|
54
|
-
continueOnError: false,
|
|
55
|
-
run: 'cargo test --target x86_64-unknown-linux-gnu -- --test-threads=1',
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
coverage: {
|
|
59
|
-
if: true,
|
|
60
|
-
continueOnError: false,
|
|
61
|
-
matrix: {
|
|
62
|
-
os: [Arch.ARM64],
|
|
63
|
-
toolchains: ['stable'],
|
|
64
|
-
features: ['default'],
|
|
65
|
-
},
|
|
66
|
-
run: `
|
|
67
|
-
cmd="cargo llvm-cov \${LLVM_ARGS} --locked --lcov --output-path lcov-\${FEATURES}.info --no-fail-fast"
|
|
68
|
-
if [ "$FEATURES" == "default" ]; then
|
|
69
|
-
$cmd -- --no-capture $CARGO_ARGS
|
|
70
|
-
else
|
|
71
|
-
$cmd --features "$FEATURES" -- --no-capture $CARGO_ARGS
|
|
72
|
-
fi
|
|
73
|
-
`,
|
|
74
|
-
},
|
|
75
|
-
clippy: {
|
|
76
|
-
if: true,
|
|
77
|
-
continueOnError: false,
|
|
78
|
-
run: '',
|
|
79
|
-
flags: '',
|
|
80
|
-
matrix: {
|
|
81
|
-
os: [Arch.ARM64],
|
|
82
|
-
toolchains: ['stable'],
|
|
83
|
-
features: ['default'],
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
extra: {
|
|
87
|
-
if: false,
|
|
88
|
-
continueOnError: false,
|
|
89
|
-
run: '',
|
|
90
|
-
name: 'extra',
|
|
91
|
-
matrix: {
|
|
92
|
-
os: [Arch.ARM64],
|
|
93
|
-
toolchains: ['stable'],
|
|
94
|
-
features: ['default'],
|
|
95
|
-
},
|
|
96
|
-
},
|
|
97
|
-
};
|
|
98
|
-
export class RustWorkflow {
|
|
99
|
-
jobs;
|
|
100
|
-
global;
|
|
101
|
-
release;
|
|
102
|
-
ai;
|
|
103
|
-
constructor() {
|
|
104
|
-
this.jobs = {
|
|
105
|
-
fmt: JobDefaults.fmt,
|
|
106
|
-
docCheck: JobDefaults.docCheck,
|
|
107
|
-
semver: JobDefaults.semver,
|
|
108
|
-
dependencies: JobDefaults.dependencies,
|
|
109
|
-
hack: JobDefaults.hack,
|
|
110
|
-
cargoSort: JobDefaults.cargoSort,
|
|
111
|
-
sanitizers: JobDefaults.sanitizers,
|
|
112
|
-
clippy: JobDefaults.clippy,
|
|
113
|
-
coverage: JobDefaults.coverage,
|
|
114
|
-
extra: JobDefaults.extra,
|
|
115
|
-
};
|
|
116
|
-
this.global = { packages: {} };
|
|
117
|
-
this.release = {
|
|
118
|
-
publish: true,
|
|
119
|
-
bin: false,
|
|
120
|
-
debian: false,
|
|
121
|
-
profile: 'release',
|
|
122
|
-
os: [Arch.AMD64],
|
|
123
|
-
};
|
|
124
|
-
this.ai = {
|
|
125
|
-
prompt: PROMPT,
|
|
126
|
-
additional: '',
|
|
127
|
-
enabled: true,
|
|
128
|
-
track_progress: true,
|
|
129
|
-
allowed_bots: '*',
|
|
130
|
-
claude_args: ' --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(find),Bash(diff),Bash(jq),Bash(git),Bash(cargo),Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)"',
|
|
131
|
-
use_sticky_comment: false,
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
linuxPackages(packages) {
|
|
135
|
-
this.global.packages.Linux = packages.join(',');
|
|
136
|
-
return this;
|
|
137
|
-
}
|
|
138
|
-
semver(enable) {
|
|
139
|
-
this.jobs.semver.if = enable;
|
|
140
|
-
return this;
|
|
141
|
-
}
|
|
142
|
-
extra(name, run) {
|
|
143
|
-
this.jobs.extra.if = true;
|
|
144
|
-
this.jobs.extra.name = name;
|
|
145
|
-
this.jobs.extra.run = run;
|
|
146
|
-
return this;
|
|
147
|
-
}
|
|
148
|
-
withRelease(r) {
|
|
149
|
-
this.release = r;
|
|
150
|
-
return this;
|
|
151
|
-
}
|
|
152
|
-
clippy(opts) {
|
|
153
|
-
if (opts?.flags)
|
|
154
|
-
this.jobs.clippy.flags = opts.flags;
|
|
155
|
-
if (opts?.run)
|
|
156
|
-
this.jobs.clippy.run = opts.run;
|
|
157
|
-
if (opts?.if !== undefined)
|
|
158
|
-
this.jobs.clippy.if = opts.if;
|
|
159
|
-
if (opts?.continueOnError !== undefined)
|
|
160
|
-
this.jobs.clippy.continueOnError = opts.continueOnError;
|
|
161
|
-
if (opts?.matrix) {
|
|
162
|
-
if (opts.matrix.toolchains)
|
|
163
|
-
this.jobs.clippy.matrix.toolchains = opts.matrix.toolchains;
|
|
164
|
-
if (opts.matrix.features)
|
|
165
|
-
this.jobs.clippy.matrix.features = opts.matrix.features;
|
|
166
|
-
if (opts.matrix.os)
|
|
167
|
-
this.jobs.clippy.matrix.os = opts.matrix.os;
|
|
168
|
-
}
|
|
169
|
-
return this;
|
|
170
|
-
}
|
|
171
|
-
disableSanitizers() {
|
|
172
|
-
this.jobs.sanitizers.enabled = false;
|
|
173
|
-
return this;
|
|
174
|
-
}
|
|
175
|
-
disableAi() {
|
|
176
|
-
this.ai.enabled = false;
|
|
177
|
-
return this;
|
|
178
|
-
}
|
|
179
|
-
additionalPrompt(prompt) {
|
|
180
|
-
this.ai.additional = prompt;
|
|
181
|
-
return this;
|
|
182
|
-
}
|
|
183
|
-
build() {
|
|
184
|
-
// os:
|
|
185
|
-
// - target: aarch64-unknown-linux-gnu
|
|
186
|
-
// os: ubicloud-standard-8-arm
|
|
187
|
-
// - target: x86_64-unknown-linux-gnu
|
|
188
|
-
// os: ubicloud-standard-4
|
|
189
|
-
// - target: aarch64-apple-darwin
|
|
190
|
-
// os: macos-latest
|
|
191
|
-
// # - target: x86_64-pc-windows-msvc
|
|
192
|
-
// # os: windows-latest
|
|
193
|
-
return {
|
|
194
|
-
ai: this.ai,
|
|
195
|
-
release: {
|
|
196
|
-
bin: this.release.bin,
|
|
197
|
-
publish: this.release.publish,
|
|
198
|
-
debian: this.release.debian,
|
|
199
|
-
profile: this.release.profile,
|
|
200
|
-
matrix: {
|
|
201
|
-
os: [Arch.AMD64],
|
|
202
|
-
target: ['x86_64-unknown-linux-gnu'],
|
|
203
|
-
},
|
|
204
|
-
},
|
|
205
|
-
global: this.global,
|
|
206
|
-
jobs: this.jobs,
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
export function createRustWorkflow() {
|
|
211
|
-
return new RustWorkflow();
|
|
212
|
-
}
|
|
213
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/src/ai.ts
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
export interface AiJob {
|
|
2
|
-
enabled: boolean;
|
|
3
|
-
allowed_bots: string;
|
|
4
|
-
claude_args: string;
|
|
5
|
-
use_sticky_comment: boolean;
|
|
6
|
-
track_progress: boolean;
|
|
7
|
-
prompt: string;
|
|
8
|
-
additional: string;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export const PROMPT = `
|
|
12
|
-
Perform a comprehensive code review with the following focus areas:
|
|
13
|
-
Provide detailed feedback using inline comments for ONLY issues, no praise inline comments.
|
|
14
|
-
Use top-level comments for general observations or praise
|
|
15
|
-
Do not be shy, I am a big boy and can handle criticism gracefully. I welcome feedback and suggestions.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
## Rust tooling
|
|
19
|
-
|
|
20
|
-
You should have access to cargo cli. You can use this to verify the build yourself, or use it to run tests (or a specific test)
|
|
21
|
-
If you encounter an error running cargo, please comment on this PR. If you desire more rust tools, such as rust-analyzer, or any cargo plugin to help review then please notify on pull request
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
## Permissions
|
|
25
|
-
|
|
26
|
-
If you are denied access to a tool, shell command, or github API resource (via gh cli) then notify the pull request author that you would like access to that tool.
|
|
27
|
-
As an example, we use CodeCov to our test coverage, if you like to have access to historical data, we can provide you with the CodeCov CLI tool and access.
|
|
28
|
-
In general, if you need something, just ask.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Review this PR against our team checklist:
|
|
32
|
-
|
|
33
|
-
## Code Quality
|
|
34
|
-
- [ ] Code follows our style guide
|
|
35
|
-
- [ ] No commented-out code
|
|
36
|
-
- [ ] Meaningful variable names
|
|
37
|
-
- [ ] DRY principle followed
|
|
38
|
-
|
|
39
|
-
## Testing
|
|
40
|
-
- [ ] Unit tests for new functions
|
|
41
|
-
- [ ] Integration tests for new endpoints
|
|
42
|
-
- [ ] Edge cases covered
|
|
43
|
-
- [ ] Test coverage > 80%
|
|
44
|
-
|
|
45
|
-
## Documentation
|
|
46
|
-
- [ ] README updated if needed
|
|
47
|
-
- [ ] API docs updated
|
|
48
|
-
- [ ] Inline comments for complex logic
|
|
49
|
-
- [ ] CHANGELOG.md updated
|
|
50
|
-
|
|
51
|
-
## Security
|
|
52
|
-
- [ ] No hardcoded credentials
|
|
53
|
-
- [ ] Input validation implemented
|
|
54
|
-
- [ ] Proper error handling
|
|
55
|
-
- [ ] No sensitive data in logs
|
|
56
|
-
|
|
57
|
-
For each item, check if it is satisfied and comment on any that need attention.
|
|
58
|
-
Post a summary comment with checklist results.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
`;
|