code-foundry 0.5.0 → 0.7.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.
@@ -10,164 +10,8 @@ on:
10
10
  permissions:
11
11
  contents: read
12
12
 
13
- env:
14
- TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
15
- TURBO_TEAM: ${{ vars.TURBO_TEAM }}
16
- REPO_FOUNDRY_PROFILE: ${{ vars.REPO_FOUNDRY_PROFILE }}
17
- REPO_FOUNDRY_LANGUAGES: ${{ vars.REPO_FOUNDRY_LANGUAGES }}
18
- REPO_FOUNDRY_FEATURES: ${{ vars.REPO_FOUNDRY_FEATURES }}
19
- REPO_FOUNDRY_PACKAGE_MANAGER: ${{ vars.REPO_FOUNDRY_PACKAGE_MANAGER }}
20
- REPO_FOUNDRY_RUNNER: ${{ vars.REPO_FOUNDRY_RUNNER }}
21
- REPO_FOUNDRY_CACHE_PACKAGES: ${{ vars.REPO_FOUNDRY_CACHE_PACKAGES || 'auto' }}
22
- REPO_FOUNDRY_CACHE_BUILD: ${{ vars.REPO_FOUNDRY_CACHE_BUILD || 'auto' }}
23
- REPO_FOUNDRY_BASE_SHA: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before || '' }}
24
-
25
- concurrency:
26
- group: ${{ github.workflow }}-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.event.pull_request.head.ref || github.ref_name }}
27
- cancel-in-progress: true
28
-
29
13
  jobs:
30
- format:
31
- name: Format
32
- runs-on: ${{ vars.REPO_FOUNDRY_RUNNER || vars.REPO_FOUNDRY_FAST_RUNNER || 'ubuntu-latest' }}
33
- timeout-minutes: 15
34
- steps:
35
- - name: Checkout
36
- uses: actions/checkout@v7
37
- with:
38
- fetch-depth: 2
39
- - name: Detect
40
- id: applicability
41
- run: bash .github/scripts/ci.sh should_run format >> "$GITHUB_OUTPUT"
42
- - name: Format Probe
43
- id: format-probe
44
- if: steps.applicability.outputs.applicable == 'true'
45
- run: bash .github/scripts/format-fast-path.sh
46
- - name: Setup
47
- if: steps.applicability.outputs.applicable == 'true'
48
- uses: ./.github/actions/setup
49
- with:
50
- install: ${{ steps.format-probe.outputs.hit != 'true' }}
51
- install-python: false
52
- install-rust: false
53
- cache-build: false
54
- # Warm the format cache on branch pushes without adding archive
55
- # time to pull-request checks.
56
- cache-save: ${{ github.event_name == 'push' }}
57
- cache-format: true
58
- task: format
59
- - name: Format
60
- if: steps.applicability.outputs.applicable == 'true'
61
- id: format-fast
62
- continue-on-error: ${{ steps.format-probe.outputs.hit == 'true' }}
63
- run: bash .github/scripts/ci.sh format
64
- - name: Setup Fallback
65
- if: >-
66
- steps.applicability.outputs.applicable == 'true' &&
67
- steps.format-probe.outputs.hit == 'true' &&
68
- steps.format-fast.outcome == 'failure'
69
- uses: ./.github/actions/setup
70
- with:
71
- install: true
72
- install-python: false
73
- install-rust: false
74
- cache-build: false
75
- cache-save: false
76
- cache-format: true
77
- task: format
78
- - name: Format Fallback
79
- if: >-
80
- steps.applicability.outputs.applicable == 'true' &&
81
- steps.format-probe.outputs.hit == 'true' &&
82
- steps.format-fast.outcome == 'failure'
83
- run: bash .github/scripts/ci.sh format
84
-
85
- lint:
86
- name: Lint
87
- runs-on: ${{ vars.REPO_FOUNDRY_RUNNER || vars.REPO_FOUNDRY_FAST_RUNNER || 'ubuntu-latest' }}
88
- timeout-minutes: 20
89
- steps:
90
- - name: Checkout
91
- uses: actions/checkout@v7
92
- with:
93
- fetch-depth: 2
94
- - name: Detect
95
- id: applicability
96
- run: bash .github/scripts/ci.sh should_run lint >> "$GITHUB_OUTPUT"
97
- - name: Turbo Probe
98
- id: turbo
99
- if: steps.applicability.outputs.applicable == 'true'
100
- run: bash .github/scripts/turbo-cache-probe.sh lint
101
- - name: Setup
102
- if: steps.applicability.outputs.applicable == 'true'
103
- uses: ./.github/actions/setup
104
- with:
105
- install: ${{ steps.turbo.outputs.hit != 'true' }}
106
- install-python: false
107
- cache-build: false
108
- # Warm the lint cache on branch pushes without adding archive time
109
- # to pull-request checks.
110
- cache-save: ${{ github.event_name == 'push' }}
111
- cache-lint: true
112
- task: lint
113
- - name: Lint
114
- if: steps.applicability.outputs.applicable == 'true'
115
- run: bash .github/scripts/ci.sh lint
116
-
117
- type-check:
118
- name: Type-Check
119
- runs-on: ubuntu-latest
120
- timeout-minutes: 20
121
- steps:
122
- - name: Checkout
123
- uses: actions/checkout@v7
124
- with:
125
- fetch-depth: 2
126
- - name: Detect
127
- id: applicability
128
- run: bash .github/scripts/ci.sh should_run type_check >> "$GITHUB_OUTPUT"
129
- - name: Turbo Probe
130
- id: turbo
131
- if: steps.applicability.outputs.applicable == 'true'
132
- run: bash .github/scripts/turbo-cache-probe.sh type-check
133
- - name: Setup
134
- if: steps.applicability.outputs.applicable == 'true'
135
- uses: ./.github/actions/setup
136
- with:
137
- install: ${{ steps.turbo.outputs.hit != 'true' }}
138
- install-python: false
139
- cache-build: ${{ steps.applicability.outputs.rust == 'true' || vars.REPO_FOUNDRY_CACHE_BUILD == 'true' }}
140
- cache-save: ${{ github.event_name == 'push' }}
141
- task: type_check
142
- - name: Type-Check
143
- if: steps.applicability.outputs.applicable == 'true'
144
- run: bash .github/scripts/ci.sh type_check
145
-
146
- build:
147
- name: Build
148
- runs-on: ubuntu-latest
149
- timeout-minutes: 30
150
- steps:
151
- - name: Checkout
152
- uses: actions/checkout@v7
153
- with:
154
- fetch-depth: 2
155
- - name: Detect
156
- id: applicability
157
- run: bash .github/scripts/ci.sh should_run build >> "$GITHUB_OUTPUT"
158
- - name: Turbo Probe
159
- id: turbo
160
- if: steps.applicability.outputs.applicable == 'true'
161
- run: bash .github/scripts/turbo-cache-probe.sh build
162
- - name: Setup
163
- if: steps.applicability.outputs.applicable == 'true'
164
- uses: ./.github/actions/setup
165
- with:
166
- install: ${{ steps.turbo.outputs.hit != 'true' }}
167
- install-python: false
168
- cache-build: ${{ steps.applicability.outputs.rust == 'true' || vars.REPO_FOUNDRY_CACHE_BUILD == 'true' }}
169
- cache-save: ${{ github.event_name == 'push' }}
170
- task: build
171
- - name: Build
172
- if: steps.applicability.outputs.applicable == 'true'
173
- run: bash .github/scripts/ci.sh build
14
+ ci:
15
+ name: CI
16
+ uses: 0xPlayerOne/code-foundry/.github/workflows/reusable-ci.yml@v0.6.0
17
+ secrets: inherit
@@ -0,0 +1,179 @@
1
+ name: Code Foundry CI
2
+
3
+ on:
4
+ workflow_call:
5
+ inputs:
6
+ runtime-repository:
7
+ description: Repository containing the Code Foundry runtime.
8
+ required: false
9
+ type: string
10
+ default: 0xPlayerOne/code-foundry
11
+ runtime-ref:
12
+ description: Code Foundry runtime tag or ref.
13
+ required: false
14
+ type: string
15
+ default: v0.5.0
16
+
17
+ permissions:
18
+ contents: read
19
+
20
+ env:
21
+ TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
22
+ TURBO_TEAM: ${{ vars.TURBO_TEAM }}
23
+ REPO_FOUNDRY_PROFILE: ${{ vars.REPO_FOUNDRY_PROFILE }}
24
+ REPO_FOUNDRY_LANGUAGES: ${{ vars.REPO_FOUNDRY_LANGUAGES }}
25
+ REPO_FOUNDRY_FEATURES: ${{ vars.REPO_FOUNDRY_FEATURES }}
26
+ REPO_FOUNDRY_PACKAGE_MANAGER: ${{ vars.REPO_FOUNDRY_PACKAGE_MANAGER }}
27
+ REPO_FOUNDRY_RUNNER: ${{ vars.REPO_FOUNDRY_RUNNER }}
28
+ REPO_FOUNDRY_CACHE_PACKAGES: ${{ vars.REPO_FOUNDRY_CACHE_PACKAGES || 'auto' }}
29
+ REPO_FOUNDRY_CACHE_BUILD: ${{ vars.REPO_FOUNDRY_CACHE_BUILD || 'auto' }}
30
+ REPO_FOUNDRY_BASE_SHA: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before || '' }}
31
+
32
+ concurrency:
33
+ group: ${{ github.workflow }}-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.event.pull_request.head.ref || github.ref_name }}
34
+ cancel-in-progress: true
35
+
36
+ jobs:
37
+ format:
38
+ name: Format
39
+ runs-on: ubuntu-latest
40
+ steps:
41
+ - name: Checkout
42
+ uses: actions/checkout@v7
43
+ - name: Runtime
44
+ uses: actions/checkout@v7
45
+ with:
46
+ repository: ${{ inputs.runtime-repository }}
47
+ ref: ${{ inputs.runtime-ref }}
48
+ path: .code-foundry
49
+ sparse-checkout: |
50
+ .github/actions
51
+ .github/scripts
52
+ - name: Install runtime
53
+ run: |
54
+ mkdir -p .github/actions .github/scripts
55
+ cp -R .code-foundry/.github/actions/. .github/actions/
56
+ cp -R .code-foundry/.github/scripts/. .github/scripts/
57
+ - name: Detect
58
+ id: applicability
59
+ run: bash .github/scripts/ci.sh should_run format >> "$GITHUB_OUTPUT"
60
+ - name: Fast path
61
+ if: steps.applicability.outputs.applicable == 'true'
62
+ run: bash .github/scripts/format-fast-path.sh
63
+ - name: Setup
64
+ if: steps.applicability.outputs.applicable == 'true'
65
+ uses: ./.github/actions/setup
66
+ with:
67
+ install: 'false'
68
+ cache-format: 'true'
69
+ cache-lint: 'false'
70
+ cache-build: 'false'
71
+ task: format
72
+ task-javascript: 'true'
73
+ task-python: 'false'
74
+ task-rust: 'false'
75
+ - name: Format
76
+ if: steps.applicability.outputs.applicable == 'true'
77
+ run: bash .github/scripts/ci.sh format
78
+
79
+ lint:
80
+ name: Lint
81
+ runs-on: ubuntu-latest
82
+ steps:
83
+ - name: Checkout
84
+ uses: actions/checkout@v7
85
+ - name: Runtime
86
+ uses: actions/checkout@v7
87
+ with:
88
+ repository: ${{ inputs.runtime-repository }}
89
+ ref: ${{ inputs.runtime-ref }}
90
+ path: .code-foundry
91
+ sparse-checkout: |
92
+ .github/actions
93
+ .github/scripts
94
+ - name: Install runtime
95
+ run: |
96
+ mkdir -p .github/actions .github/scripts
97
+ cp -R .code-foundry/.github/actions/. .github/actions/
98
+ cp -R .code-foundry/.github/scripts/. .github/scripts/
99
+ - name: Detect
100
+ id: applicability
101
+ run: bash .github/scripts/ci.sh should_run lint >> "$GITHUB_OUTPUT"
102
+ - name: Setup
103
+ if: steps.applicability.outputs.applicable == 'true'
104
+ uses: ./.github/actions/setup
105
+ with:
106
+ install: 'true'
107
+ cache-lint: 'true'
108
+ task: lint
109
+ - name: Lint
110
+ if: steps.applicability.outputs.applicable == 'true'
111
+ run: bash .github/scripts/ci.sh lint
112
+
113
+ type-check:
114
+ name: Type-Check
115
+ runs-on: ubuntu-latest
116
+ steps:
117
+ - name: Checkout
118
+ uses: actions/checkout@v7
119
+ - name: Runtime
120
+ uses: actions/checkout@v7
121
+ with:
122
+ repository: ${{ inputs.runtime-repository }}
123
+ ref: ${{ inputs.runtime-ref }}
124
+ path: .code-foundry
125
+ sparse-checkout: |
126
+ .github/actions
127
+ .github/scripts
128
+ - name: Install runtime
129
+ run: |
130
+ mkdir -p .github/actions .github/scripts
131
+ cp -R .code-foundry/.github/actions/. .github/actions/
132
+ cp -R .code-foundry/.github/scripts/. .github/scripts/
133
+ - name: Detect
134
+ id: applicability
135
+ run: bash .github/scripts/ci.sh should_run type_check >> "$GITHUB_OUTPUT"
136
+ - name: Setup
137
+ if: steps.applicability.outputs.applicable == 'true'
138
+ uses: ./.github/actions/setup
139
+ with:
140
+ install: 'true'
141
+ cache-build: 'true'
142
+ task: type_check
143
+ - name: Type-Check
144
+ if: steps.applicability.outputs.applicable == 'true'
145
+ run: bash .github/scripts/ci.sh type_check
146
+
147
+ build:
148
+ name: Build
149
+ runs-on: ubuntu-latest
150
+ steps:
151
+ - name: Checkout
152
+ uses: actions/checkout@v7
153
+ - name: Runtime
154
+ uses: actions/checkout@v7
155
+ with:
156
+ repository: ${{ inputs.runtime-repository }}
157
+ ref: ${{ inputs.runtime-ref }}
158
+ path: .code-foundry
159
+ sparse-checkout: |
160
+ .github/actions
161
+ .github/scripts
162
+ - name: Install runtime
163
+ run: |
164
+ mkdir -p .github/actions .github/scripts
165
+ cp -R .code-foundry/.github/actions/. .github/actions/
166
+ cp -R .code-foundry/.github/scripts/. .github/scripts/
167
+ - name: Detect
168
+ id: applicability
169
+ run: bash .github/scripts/ci.sh should_run build >> "$GITHUB_OUTPUT"
170
+ - name: Setup
171
+ if: steps.applicability.outputs.applicable == 'true'
172
+ uses: ./.github/actions/setup
173
+ with:
174
+ install: 'true'
175
+ cache-build: 'true'
176
+ task: build
177
+ - name: Build
178
+ if: steps.applicability.outputs.applicable == 'true'
179
+ run: bash .github/scripts/ci.sh build
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.7.0](https://github.com/0xPlayerOne/code-foundry/compare/v0.6.0...v0.7.0) (2026-07-28)
4
+
5
+
6
+ ### Features
7
+
8
+ * **ci:** use reusable workflow wrapper ([77c7075](https://github.com/0xPlayerOne/code-foundry/commit/77c7075d23f48b44da276406c0000fe23c7f1dcf))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **ci:** declare read-only workflow permissions ([e7b7397](https://github.com/0xPlayerOne/code-foundry/commit/e7b739739979b1572760c1f81d9c7229d156c7e3))
14
+ * **ci:** name reusable checks consistently ([4a194f4](https://github.com/0xPlayerOne/code-foundry/commit/4a194f40b4f2a2660526eefac0e366402de0782d))
15
+
16
+ ## [0.6.0](https://github.com/0xPlayerOne/code-foundry/compare/v0.5.0...v0.6.0) (2026-07-28)
17
+
18
+
19
+ ### Features
20
+
21
+ * **ci:** add reusable workflow runtime ([4900da5](https://github.com/0xPlayerOne/code-foundry/commit/4900da5e6141015146c4be2059bbce7da0c25f5d))
22
+
3
23
  ## [0.5.0](https://github.com/0xPlayerOne/code-foundry/compare/v0.4.0...v0.5.0) (2026-07-28)
4
24
 
5
25
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "code-foundry",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "A fast, language-aware repository factory for agent-ready workflows, testing, security, and release automation.",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-or-later",