@dougefresh/ci 0.1.14 → 0.1.16

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.
Files changed (52) hide show
  1. package/dist/defaults.d.ts +13 -0
  2. package/dist/defaults.d.ts.map +1 -0
  3. package/dist/defaults.js +95 -0
  4. package/dist/defaults.js.map +1 -0
  5. package/dist/index.d.ts +34 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +119 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/types.d.ts +79 -0
  10. package/dist/types.d.ts.map +1 -0
  11. package/dist/types.js +9 -0
  12. package/dist/types.js.map +1 -0
  13. package/package.json +6 -1
  14. package/.checkov.yml +0 -7
  15. package/.env.example +0 -61
  16. package/.gitattributes +0 -3
  17. package/.github/actions/install-yq/action.yaml +0 -80
  18. package/.github/actions/install-yq/scripts/unixish.sh +0 -112
  19. package/.github/actions/install-yq/scripts/windowsish.ps1 +0 -99
  20. package/.github/actions/jobtaker/action.yml +0 -29
  21. package/.github/actions/rust-config/action.yml +0 -34
  22. package/.github/actions/rust-init/action.yml +0 -75
  23. package/.github/additional-prompt.md +0 -62
  24. package/.github/ci-configs/dummy.yml +0 -24
  25. package/.github/ci-configs/rust/ai.yml +0 -65
  26. package/.github/ci-configs/rust-default.yml +0 -115
  27. package/.github/ci-configs/test/01.yml +0 -9
  28. package/.github/dependabot.yml +0 -26
  29. package/.github/prompts/create-release-notes.prompt.md +0 -29
  30. package/.github/prompts/unit-test.prompt.md +0 -77
  31. package/.github/rust-ci.ts +0 -5
  32. package/.github/workflows/action-ci.yml +0 -39
  33. package/.github/workflows/action-review.yml +0 -57
  34. package/.github/workflows/dummy-release.yml +0 -32
  35. package/.github/workflows/dummy-test.yml +0 -16
  36. package/.github/workflows/pages.yml +0 -59
  37. package/.github/workflows/pr-review.yml +0 -59
  38. package/.github/workflows/release.yml +0 -39
  39. package/.github/workflows/rust-release.yml +0 -133
  40. package/.github/workflows/rust.yml +0 -247
  41. package/.node-version +0 -1
  42. package/AGENTS.md +0 -28
  43. package/Cargo.toml +0 -6
  44. package/action.yml +0 -50
  45. package/biome.json +0 -108
  46. package/docs/SUMMARY.md +0 -3
  47. package/docs/book.toml +0 -49
  48. package/docs/index.md +0 -32
  49. package/pre-commit +0 -2
  50. package/prompt-template.md +0 -180
  51. package/scripts/bump-version.ts +0 -16
  52. package/scripts/generate-rust.ts +0 -9
@@ -0,0 +1,13 @@
1
+ import { type AiJob, type CargoSort, type Clippy, type Coverage, type Dependencies, type DocCheck, type Extra, type Fmt, type Hack, type Sanitizers, type SemVer } from './types';
2
+ export declare const DEFAULT_AI: AiJob;
3
+ export declare const DEFAULT_FMT: Fmt;
4
+ export declare const DEFAULT_SEMVER: SemVer;
5
+ export declare const DEFAULT_HACK: Hack;
6
+ export declare const DEFAULT_DOC_CHECK: DocCheck;
7
+ export declare const DEFAULT_CARGO_SORT: CargoSort;
8
+ export declare const DEFAULT_DEPENDENCIES: Dependencies;
9
+ export declare const DEFAULT_SANITIZERS: Sanitizers;
10
+ export declare const DEFAULT_COVERAGE: Coverage;
11
+ export declare const DEFAULT_CLIPPY: Clippy;
12
+ export declare const DEFAULT_EXTRA: Extra;
13
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EAEV,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,GAAG,EACR,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,MAAM,EACZ,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,UAAU,EAAE,KAOxB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,GAIzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAG5B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,IAI1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,QAI/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAIhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAIlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,UAiBhC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,QAgB9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAU5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAU3B,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { Arch, } from './types';
2
+ export const DEFAULT_AI = {
3
+ enabled: true,
4
+ track_progress: true,
5
+ allowed_bots: '*',
6
+ claude_args: ' --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(tsc *),Bash(tsgo *),Bash(bun *),Bash(find *),Bash(diff *),Bash(jq *),Bash(git *),Bash(cargo *),Bash(gh *)"',
7
+ use_sticky_comment: false,
8
+ };
9
+ export const DEFAULT_FMT = {
10
+ if: true,
11
+ continueOnError: false,
12
+ run: 'cargo +nightly fmt --check --all',
13
+ };
14
+ export const DEFAULT_SEMVER = {
15
+ if: true,
16
+ continueOnError: false,
17
+ };
18
+ export const DEFAULT_HACK = {
19
+ if: true,
20
+ continueOnError: false,
21
+ run: 'cargo hack --feature-powerset check',
22
+ };
23
+ export const DEFAULT_DOC_CHECK = {
24
+ if: true,
25
+ continueOnError: false,
26
+ run: 'cargo +nightly docs-rs',
27
+ };
28
+ export const DEFAULT_CARGO_SORT = {
29
+ if: true,
30
+ continueOnError: false,
31
+ run: 'if [ -f ./scripts/cargo-sort.sh ]; then\n ./scripts/cargo-sort.sh\nelse\n cargo sort -c -g\nfi\n',
32
+ };
33
+ export const DEFAULT_DEPENDENCIES = {
34
+ if: true,
35
+ continueOnError: false,
36
+ run: 'cargo machete --with-metadata',
37
+ };
38
+ export const DEFAULT_SANITIZERS = {
39
+ enabled: true,
40
+ address: {
41
+ if: true,
42
+ continueOnError: false,
43
+ run: 'cargo test --lib --tests --no-fail-fast --target x86_64-unknown-linux-gnu -- --no-capture',
44
+ },
45
+ leak: {
46
+ if: true,
47
+ continueOnError: false,
48
+ run: 'cargo test --target x86_64-unknown-linux-gnu -- --no-capture',
49
+ },
50
+ thread: {
51
+ if: false,
52
+ continueOnError: false,
53
+ run: 'cargo test --target x86_64-unknown-linux-gnu -- --test-threads=1',
54
+ },
55
+ };
56
+ export const DEFAULT_COVERAGE = {
57
+ if: true,
58
+ continueOnError: false,
59
+ matrix: {
60
+ os: [Arch.ARM64],
61
+ toolchains: ['stable'],
62
+ features: ['default'],
63
+ },
64
+ run: `
65
+ cmd="cargo llvm-cov \${LLVM_ARGS} --locked --lcov --output-path lcov-\${FEATURES}.info --no-fail-fast"
66
+ if [ "$FEATURES" == "default" ]; then
67
+ $cmd -- --no-capture $CARGO_ARGS
68
+ else
69
+ $cmd --features "$FEATURES" -- --no-capture $CARGO_ARGS
70
+ fi
71
+ `,
72
+ };
73
+ export const DEFAULT_CLIPPY = {
74
+ if: true,
75
+ continueOnError: false,
76
+ run: '',
77
+ flags: '',
78
+ matrix: {
79
+ os: [Arch.ARM64],
80
+ toolchains: ['stable'],
81
+ features: ['default'],
82
+ },
83
+ };
84
+ export const DEFAULT_EXTRA = {
85
+ if: false,
86
+ continueOnError: false,
87
+ run: '',
88
+ name: 'extra',
89
+ matrix: {
90
+ os: [Arch.ARM64],
91
+ toolchains: ['stable'],
92
+ features: ['default'],
93
+ },
94
+ };
95
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,IAAI,GAWL,MAAM,SAAS,CAAC;AAEjB,MAAM,CAAC,MAAM,UAAU,GAAU;IAC/B,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,GAAG;IACjB,WAAW,EACT,oLAAoL;IACtL,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAQ;IAC9B,EAAE,EAAE,IAAI;IACR,eAAe,EAAE,KAAK;IACtB,GAAG,EAAE,kCAAkC;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,EAAE,EAAE,IAAI;IACR,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAS;IAChC,EAAE,EAAE,IAAI;IACR,eAAe,EAAE,KAAK;IACtB,GAAG,EAAE,qCAAqC;CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAa;IACzC,EAAE,EAAE,IAAI;IACR,eAAe,EAAE,KAAK;IACtB,GAAG,EAAE,wBAAwB;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAc;IAC3C,EAAE,EAAE,IAAI;IACR,eAAe,EAAE,KAAK;IACtB,GAAG,EAAE,oGAAoG;CAC1G,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAiB;IAChD,EAAE,EAAE,IAAI;IACR,eAAe,EAAE,KAAK;IACtB,GAAG,EAAE,+BAA+B;CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,OAAO,EAAE,IAAI;IACb,OAAO,EAAE;QACP,EAAE,EAAE,IAAI;QACR,eAAe,EAAE,KAAK;QACtB,GAAG,EAAE,2FAA2F;KACjG;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,IAAI;QACR,eAAe,EAAE,KAAK;QACtB,GAAG,EAAE,+DAA+D;KACrE;IACD,MAAM,EAAE;QACN,EAAE,EAAE,KAAK;QACT,eAAe,EAAE,KAAK;QACtB,GAAG,EAAE,kEAAkE;KACxE;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAa;IACxC,EAAE,EAAE,IAAI;IACR,eAAe,EAAE,KAAK;IACtB,MAAM,EAAE;QACN,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QAChB,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,GAAG,EAAE;;;;;;;OAOA;CACN,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,EAAE,EAAE,IAAI;IACR,eAAe,EAAE,KAAK;IACtB,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,EAAE;IACT,MAAM,EAAE;QACN,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QAChB,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAU;IAClC,EAAE,EAAE,KAAK;IACT,eAAe,EAAE,KAAK;IACtB,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,OAAO;IACb,MAAM,EAAE;QACN,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;QAChB,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;CACF,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { type AiJob, Arch, type Clippy, type Global, type Release, type RustJobs } from './types';
2
+ export * from './types';
3
+ export declare const JobDefaults: RustJobs;
4
+ export declare class RustWorkflow {
5
+ private jobs;
6
+ private global;
7
+ private release;
8
+ private ai;
9
+ constructor();
10
+ linuxPackages(packages: string[]): this;
11
+ semver(enable: boolean): this;
12
+ extra(name: string, run: string): this;
13
+ withRelease(r: Release): this;
14
+ clippy(opts?: Partial<Clippy>): this;
15
+ disableSanitizers(): this;
16
+ disableAi(): this;
17
+ build(): {
18
+ ai: AiJob;
19
+ release: {
20
+ bin: boolean;
21
+ publish: boolean;
22
+ debian: boolean;
23
+ profile: string;
24
+ matrix: {
25
+ os: Arch[];
26
+ target: string[];
27
+ };
28
+ };
29
+ global: Global;
30
+ jobs: RustJobs;
31
+ };
32
+ }
33
+ export declare function createRustWorkflow(): RustWorkflow;
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,KAAK,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAElG,cAAc,SAAS,CAAC;AAExB,eAAO,MAAM,WAAW,EAAE,QAWzB,CAAC;AAEF,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,EAAE,CAAQ;IAElB,cAuBC;IAED,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAG/B;IAED,MAAM,CAAC,MAAM,EAAE,OAAO,QAGrB;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAK9B;IAED,WAAW,CAAC,CAAC,EAAE,OAAO,QAGrB;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,QAW5B;IAED,iBAAiB,SAGhB;IAED,SAAS,SAGR;IAED,KAAK;;;;;;;;;;;;;;MAyBJ;CACF;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD"}
package/dist/index.js ADDED
@@ -0,0 +1,119 @@
1
+ import { DEFAULT_AI, DEFAULT_CARGO_SORT, DEFAULT_CLIPPY, DEFAULT_COVERAGE, DEFAULT_DEPENDENCIES, DEFAULT_DOC_CHECK, DEFAULT_EXTRA, DEFAULT_FMT, DEFAULT_HACK, DEFAULT_SANITIZERS, DEFAULT_SEMVER, } from './defaults';
2
+ import { Arch } from './types';
3
+ export * from './types';
4
+ export const JobDefaults = {
5
+ fmt: DEFAULT_FMT,
6
+ semver: DEFAULT_SEMVER,
7
+ hack: DEFAULT_HACK,
8
+ docCheck: DEFAULT_DOC_CHECK,
9
+ cargoSort: DEFAULT_CARGO_SORT,
10
+ dependencies: DEFAULT_DEPENDENCIES,
11
+ sanitizers: DEFAULT_SANITIZERS,
12
+ coverage: DEFAULT_COVERAGE,
13
+ clippy: DEFAULT_CLIPPY,
14
+ extra: DEFAULT_EXTRA,
15
+ };
16
+ export class RustWorkflow {
17
+ jobs;
18
+ global;
19
+ release;
20
+ ai;
21
+ constructor() {
22
+ this.jobs = {
23
+ fmt: JobDefaults.fmt,
24
+ docCheck: JobDefaults.docCheck,
25
+ semver: JobDefaults.semver,
26
+ dependencies: JobDefaults.dependencies,
27
+ hack: JobDefaults.hack,
28
+ cargoSort: JobDefaults.cargoSort,
29
+ sanitizers: JobDefaults.sanitizers,
30
+ clippy: JobDefaults.clippy,
31
+ coverage: JobDefaults.coverage,
32
+ extra: JobDefaults.extra,
33
+ };
34
+ this.global = { packages: {} };
35
+ this.release = {
36
+ publish: true,
37
+ bin: false,
38
+ debian: false,
39
+ profile: 'release',
40
+ os: [Arch.AMD64],
41
+ };
42
+ this.ai = DEFAULT_AI;
43
+ }
44
+ linuxPackages(packages) {
45
+ this.global.packages.Linux = packages.join(',');
46
+ return this;
47
+ }
48
+ semver(enable) {
49
+ this.jobs.semver.if = enable;
50
+ return this;
51
+ }
52
+ extra(name, run) {
53
+ this.jobs.extra.if = true;
54
+ this.jobs.extra.name = name;
55
+ this.jobs.extra.run = run;
56
+ return this;
57
+ }
58
+ withRelease(r) {
59
+ this.release = r;
60
+ return this;
61
+ }
62
+ clippy(opts) {
63
+ if (opts?.flags)
64
+ this.jobs.clippy.flags = opts.flags;
65
+ if (opts?.run)
66
+ this.jobs.clippy.run = opts.run;
67
+ if (opts?.if !== undefined)
68
+ this.jobs.clippy.if = opts.if;
69
+ if (opts?.continueOnError !== undefined)
70
+ this.jobs.clippy.continueOnError = opts.continueOnError;
71
+ if (opts?.matrix) {
72
+ if (opts.matrix.toolchains)
73
+ this.jobs.clippy.matrix.toolchains = opts.matrix.toolchains;
74
+ if (opts.matrix.features)
75
+ this.jobs.clippy.matrix.features = opts.matrix.features;
76
+ if (opts.matrix.os)
77
+ this.jobs.clippy.matrix.os = opts.matrix.os;
78
+ }
79
+ return this;
80
+ }
81
+ disableSanitizers() {
82
+ this.jobs.sanitizers.enabled = false;
83
+ return this;
84
+ }
85
+ disableAi() {
86
+ this.ai.enabled = false;
87
+ return this;
88
+ }
89
+ build() {
90
+ // os:
91
+ // - target: aarch64-unknown-linux-gnu
92
+ // os: ubicloud-standard-8-arm
93
+ // - target: x86_64-unknown-linux-gnu
94
+ // os: ubicloud-standard-4
95
+ // - target: aarch64-apple-darwin
96
+ // os: macos-latest
97
+ // # - target: x86_64-pc-windows-msvc
98
+ // # os: windows-latest
99
+ return {
100
+ ai: this.ai,
101
+ release: {
102
+ bin: this.release.bin,
103
+ publish: this.release.publish,
104
+ debian: this.release.debian,
105
+ profile: this.release.profile,
106
+ matrix: {
107
+ os: [Arch.AMD64],
108
+ target: ['x86_64-unknown-linux-gnu'],
109
+ },
110
+ },
111
+ global: this.global,
112
+ jobs: this.jobs,
113
+ };
114
+ }
115
+ }
116
+ export function createRustWorkflow() {
117
+ return new RustWorkflow();
118
+ }
119
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ export declare enum Arch {
2
+ ARM64 = "vars.RUNNER_ARM64",
3
+ AMD64 = "vars.RUNNER_AMD64",
4
+ WIN = "vars.RUNNER_WIN",
5
+ MAC = "vars.RUNNER_MAC"
6
+ }
7
+ export interface AiJob {
8
+ enabled: boolean;
9
+ allowed_bots: string;
10
+ claude_args: string;
11
+ use_sticky_comment: boolean;
12
+ track_progress: boolean;
13
+ }
14
+ export interface Global {
15
+ packages: {
16
+ Linux?: string;
17
+ macOS?: string;
18
+ Windows?: string;
19
+ };
20
+ }
21
+ export interface BaseJob {
22
+ if: boolean | string;
23
+ continueOnError: boolean | string;
24
+ run?: string;
25
+ }
26
+ export interface Matrix {
27
+ os: Arch[];
28
+ toolchains: string[];
29
+ features: string[];
30
+ }
31
+ export interface Fmt extends BaseJob {
32
+ }
33
+ export interface SemVer extends BaseJob {
34
+ }
35
+ export interface Hack extends BaseJob {
36
+ }
37
+ export interface CargoSort extends BaseJob {
38
+ }
39
+ export interface DocCheck extends BaseJob {
40
+ }
41
+ export interface Dependencies extends BaseJob {
42
+ }
43
+ export interface Extra extends BaseJob {
44
+ name: string;
45
+ matrix: Matrix;
46
+ }
47
+ export interface Sanitizers {
48
+ enabled: boolean;
49
+ address: BaseJob;
50
+ leak: BaseJob;
51
+ thread: BaseJob;
52
+ }
53
+ export interface Clippy extends BaseJob {
54
+ flags: string;
55
+ matrix: Matrix;
56
+ }
57
+ export interface Coverage extends BaseJob {
58
+ matrix: Matrix;
59
+ }
60
+ export interface RustJobs {
61
+ clippy: Clippy;
62
+ coverage: Coverage;
63
+ cargoSort: CargoSort;
64
+ dependencies: Dependencies;
65
+ docCheck: DocCheck;
66
+ fmt: Fmt;
67
+ hack: Hack;
68
+ sanitizers: Sanitizers;
69
+ semver: SemVer;
70
+ extra: Extra;
71
+ }
72
+ export interface Release {
73
+ bin: boolean;
74
+ publish: boolean;
75
+ debian: boolean;
76
+ profile: string;
77
+ os: Arch[];
78
+ }
79
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,oBAAY,IAAI;IACd,KAAK,sBAAsB;IAC3B,KAAK,sBAAsB;IAC3B,GAAG,oBAAoB;IACvB,GAAG,oBAAoB;CACxB;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,MAAM;IAErB,QAAQ,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,OAAO,GAAG,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,IAAI,EAAE,CAAC;IACX,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,GAAI,SAAQ,OAAO;CAAG;AACvC,MAAM,WAAW,MAAO,SAAQ,OAAO;CAAG;AAC1C,MAAM,WAAW,IAAK,SAAQ,OAAO;CAAG;AACxC,MAAM,WAAW,SAAU,SAAQ,OAAO;CAAG;AAC7C,MAAM,WAAW,QAAS,SAAQ,OAAO;CAAG;AAC5C,MAAM,WAAW,YAAa,SAAQ,OAAO;CAAG;AAChD,MAAM,WAAW,KAAM,SAAQ,OAAO;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB;AACD,MAAM,WAAW,MAAO,SAAQ,OAAO;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAS,SAAQ,OAAO;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,IAAI,EAAE,CAAC;CACZ"}
package/dist/types.js ADDED
@@ -0,0 +1,9 @@
1
+ export { Arch };
2
+ var Arch;
3
+ (function (Arch) {
4
+ Arch["ARM64"] = "vars.RUNNER_ARM64";
5
+ Arch["AMD64"] = "vars.RUNNER_AMD64";
6
+ Arch["WIN"] = "vars.RUNNER_WIN";
7
+ Arch["MAC"] = "vars.RUNNER_MAC";
8
+ })(Arch || (Arch = {}));
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"SAAY,IAAI;AAAhB,IAAY,IAKX;AALD,WAAY,IAAI;IACd,mCAA2B,CAAA;IAC3B,mCAA2B,CAAA;IAC3B,+BAAuB,CAAA;IACvB,+BAAuB,CAAA;AAAC,CAC1B,EALY,IAAI,KAAJ,IAAI,QAKf"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dougefresh/ci",
3
3
  "description": "CI Mega Config github action",
4
- "version": "0.1.14",
4
+ "version": "0.1.16",
5
5
  "author": "",
6
6
  "type": "module",
7
7
  "homepage": "https://github.com/dougefresh/ci",
@@ -12,6 +12,11 @@
12
12
  "keywords": [
13
13
  "actions"
14
14
  ],
15
+ "files": [
16
+ "dist",
17
+ "src",
18
+ "tsconfig.json"
19
+ ],
15
20
  "exports": {
16
21
  ".": "./dist/index.js"
17
22
  },
package/.checkov.yml DELETED
@@ -1,7 +0,0 @@
1
- # See: https://www.checkov.io/1.Welcome/Quick%20Start.html
2
-
3
- compact: true
4
- quiet: true
5
- skip-path:
6
- - coverage
7
- - node_modules
package/.env.example DELETED
@@ -1,61 +0,0 @@
1
- # dotenv-linter:off IncorrectDelimiter
2
-
3
- # Do not commit your actual .env file to Git! This may contain secrets or other
4
- # private information.
5
-
6
- # Enable/disable step debug logging (default: `false`). For local debugging, it
7
- # may be useful to set it to `true`.
8
- ACTIONS_STEP_DEBUG=true
9
-
10
- # GitHub Actions inputs should follow `INPUT_<name>` format (case-sensitive).
11
- # Hyphens should not be converted to underscores!
12
- INPUT_MILLISECONDS=2400
13
-
14
- # GitHub Actions default environment variables. These are set for every run of a
15
- # workflow and can be used in your actions. Setting the value here will override
16
- # any value set by the local-action tool.
17
- # https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
18
-
19
- # CI="true"
20
- # GITHUB_ACTION=""
21
- # GITHUB_ACTION_PATH=""
22
- # GITHUB_ACTION_REPOSITORY=""
23
- # GITHUB_ACTIONS=""
24
- # GITHUB_ACTOR=""
25
- # GITHUB_ACTOR_ID=""
26
- # GITHUB_API_URL=""
27
- # GITHUB_BASE_REF=""
28
- # GITHUB_ENV=""
29
- # GITHUB_EVENT_NAME=""
30
- # GITHUB_EVENT_PATH=""
31
- # GITHUB_GRAPHQL_URL=""
32
- # GITHUB_HEAD_REF=""
33
- # GITHUB_JOB=""
34
- # GITHUB_OUTPUT=""
35
- # GITHUB_PATH=""
36
- # GITHUB_REF=""
37
- # GITHUB_REF_NAME=""
38
- # GITHUB_REF_PROTECTED=""
39
- # GITHUB_REF_TYPE=""
40
- # GITHUB_REPOSITORY=""
41
- # GITHUB_REPOSITORY_ID=""
42
- # GITHUB_REPOSITORY_OWNER=""
43
- # GITHUB_REPOSITORY_OWNER_ID=""
44
- # GITHUB_RETENTION_DAYS=""
45
- # GITHUB_RUN_ATTEMPT=""
46
- # GITHUB_RUN_ID=""
47
- # GITHUB_RUN_NUMBER=""
48
- # GITHUB_SERVER_URL=""
49
- # GITHUB_SHA=""
50
- # GITHUB_STEP_SUMMARY=""
51
- # GITHUB_TRIGGERING_ACTOR=""
52
- # GITHUB_WORKFLOW=""
53
- # GITHUB_WORKFLOW_REF=""
54
- # GITHUB_WORKFLOW_SHA=""
55
- # GITHUB_WORKSPACE=""
56
- # RUNNER_ARCH=""
57
- # RUNNER_DEBUG=""
58
- # RUNNER_NAME=""
59
- # RUNNER_OS=""
60
- # RUNNER_TEMP=""
61
- # RUNNER_TOOL_CACHE=""
package/.gitattributes DELETED
@@ -1,3 +0,0 @@
1
- * text=auto eol=lf
2
-
3
- dist/** -diff linguist-generated=true
@@ -1,80 +0,0 @@
1
- name: Install YQ
2
- description: |
3
- Installs a version of YQ into the job tool cache using simple shell scripts
4
-
5
- branding:
6
- icon: copy
7
- color: orange
8
-
9
- inputs:
10
- version:
11
- required: true
12
- description: 'Version of YQ to install'
13
- default: 'v4.49.2'
14
- download-compressed:
15
- required: false
16
- description: "If 'true', downloads .tar.gz of binary rather than raw binary. Save the tubes."
17
- default: 'true'
18
- force:
19
- required: false
20
- description: "If 'true', does not check for existing yq installation before continuing."
21
- default: 'false'
22
-
23
- outputs:
24
- found:
25
- description: "If 'true', yq was already found on this runner"
26
- value: "${{ steps.yq-check-unix.outputs.found == 'true' || steps.yq-check-windows.outputs.found == 'true' }}"
27
- installed:
28
- description: "If 'true', yq was installed by this action"
29
- value:
30
- "${{ inputs.force == 'true' || steps.yq-check-unix.outputs.found == 'false' ||
31
- steps.yq-check-windows.outputs.found == 'false' }}"
32
-
33
- runs:
34
- using: composite
35
- steps:
36
- - name: 'Check for yq - Unix-ish'
37
- id: yq-check-unix
38
- if: (runner.os == 'Linux' || runner.os == 'macOS')
39
- shell: bash +e {0}
40
- # language=bash
41
- run: |
42
- _yq_bin="$(which yq)"
43
- if [ -f "${_yq_bin}" ]; then
44
- echo "found=true" >> $GITHUB_OUTPUT
45
- else
46
- echo "found=false" >> $GITHUB_OUTPUT
47
- fi
48
-
49
- - name: 'Install yq - Unix-ish'
50
- if:
51
- (runner.os == 'Linux' || runner.os == 'macOS') && (steps.yq-check-unix.outputs.found == 'false' || inputs.force
52
- == 'true')
53
- shell: bash
54
- env:
55
- DL_COMPRESSED: "${{ inputs.download-compressed == 'true' }}"
56
- YQ_VERSION: '${{ inputs.version }}'
57
- run: $GITHUB_ACTION_PATH/scripts/unixish.sh
58
-
59
- - name: 'Check for yq - Windows-ish'
60
- id: yq-check-windows
61
- if: runner.os == 'Windows'
62
- shell: powershell
63
- # language=powershell
64
- run: |
65
- if (Get-Command "yq.exe" -ErrorAction SilentlyContinue)
66
- {
67
- Add-Content $Env:GITHUB_OUTPUT "found=true"
68
- }
69
- else
70
- {
71
- Add-Content $Env:GITHUB_OUTPUT "found=false"
72
- }
73
-
74
- - name: 'Install yq - Windows-ish'
75
- if: runner.os == 'Windows' && (steps.yq-check-windows.outputs.found == 'false' || inputs.force == 'true')
76
- shell: powershell
77
- env:
78
- DL_COMPRESSED: "${{ inputs.download-compressed == 'true' }}"
79
- YQ_VERSION: '${{ inputs.version }}'
80
- run: '& $Env:GITHUB_ACTION_PATH\scripts\windowsish.ps1'
@@ -1,112 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -euo pipefail
4
-
5
- echo '::group::Prep'
6
-
7
- # validate input and prepare some vars
8
-
9
- _base_url='https://github.com/mikefarah/yq/releases/download'
10
-
11
- _os=
12
- _arch=
13
-
14
- _root_name=
15
- _dl_name=
16
- _dl_path=
17
- _dl_url=
18
-
19
- case $RUNNER_OS in
20
- Linux)
21
- _os='linux'
22
- ;;
23
- macOS)
24
- _os='darwin'
25
- ;;
26
-
27
- *)
28
- echo "Cannot handle OS of type $RUNNER_OS"
29
- echo "Expected one of: [ Linux macOS ]"
30
- exit 1
31
- ;;
32
- esac
33
-
34
- case $RUNNER_ARCH in
35
- 'X86')
36
- _arch='386'
37
- ;;
38
- 'X64')
39
- _arch='amd64'
40
- ;;
41
- 'ARM')
42
- _arch='arm'
43
- ;;
44
- 'ARM64')
45
- _arch='arm64'
46
- ;;
47
-
48
- *)
49
- echo "Cannot handle arch of type $RUNNER_ARCH"
50
- echo "Expected one of: [ X86 X64 ARM ARM64 ]"
51
- exit 1
52
- ;;
53
- esac
54
-
55
- _root_name="yq_${_os}_${_arch}"
56
-
57
- echo "Creating temporary directory $RUNNER_TEMP/${_root_name}"
58
- mkdir -p "$RUNNER_TEMP/${_root_name}"
59
-
60
- if [[ $DL_COMPRESSED == 'true' ]]; then
61
- _dl_name="${_root_name}.tar.gz"
62
- _dl_path="$RUNNER_TEMP/${_dl_name}"
63
- else
64
- _dl_name="${_root_name}"
65
- _dl_path="$RUNNER_TEMP/${_root_name}/${_dl_name}"
66
- fi
67
-
68
- # default to _something_...
69
- _version="${YQ_VERSION}"
70
-
71
- if [ -z "${YQ_VERSION}" ]; then
72
- _version='v4.44.3'
73
- fi
74
-
75
- _dl_url="${_base_url}/${_version}/${_dl_name}"
76
-
77
- echo '::endgroup::'
78
-
79
- echo "::group::Downloading yq ${_version}"
80
-
81
- echo "Src: ${_dl_url}"
82
- echo "Dst: ${_dl_path}"
83
-
84
- curl -L "${_dl_url}" -o "${_dl_path}"
85
-
86
- echo '::endgroup::'
87
-
88
- if [[ $DL_COMPRESSED == 'true' ]]; then
89
- echo '::group::Expanding archive'
90
- tar -xzv -C "$RUNNER_TEMP/${_root_name}" -f "${_dl_path}"
91
- echo "Removing ${_dl_path}"
92
- rm -rf "${_dl_path}"
93
- echo '::endgroup::'
94
- fi
95
-
96
- echo '::group::Copying to tool cache'
97
-
98
- echo "Creating tool cache directory $RUNNER_TOOL_CACHE/yq"
99
- mkdir -p "$RUNNER_TOOL_CACHE/yq"
100
-
101
- echo "Installing into tool cache:"
102
- echo "Src: $RUNNER_TEMP/${_root_name}/${_root_name}"
103
- echo "Dst: $RUNNER_TOOL_CACHE/yq/yq"
104
- mv "$RUNNER_TEMP/${_root_name}/${_root_name}" "$RUNNER_TOOL_CACHE/yq/yq"
105
-
106
- echo "Removing $RUNNER_TEMP/${_root_name}"
107
- rm -rf "$RUNNER_TEMP/${_root_name}"
108
-
109
- echo "Adding $RUNNER_TOOL_CACHE/yq to path..."
110
- echo "$RUNNER_TOOL_CACHE/yq" >> $GITHUB_PATH
111
-
112
- echo '::endgroup::'