Skip to content

Commit 85fc58b

Browse files
committed
Reenable verification builds and fix Windows bugs
1 parent f13b930 commit 85fc58b

4 files changed

Lines changed: 189 additions & 137 deletions

File tree

.github/workflows/push-checks.yaml

Lines changed: 37 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
- name: Build the Dockerfile
1111
run: docker compose build
1212
openscad-node:
13-
name: Verify that OpenSCAD keycap scripts work (Node.js)
13+
name: Verify that OpenSCAD keycap scripts work (Node/Linux)
1414
runs-on: ubuntu-latest
1515
steps:
1616
- uses: actions/checkout@v6
@@ -52,55 +52,49 @@ jobs:
5252
- name: Build simple keycaps
5353
run: OPENSCAD=$(which openscad) make keycaps-simple
5454

55-
# setup-linux-bun:
56-
# name: Verify Set up (Bun/Linux)
57-
# runs-on: ubuntu-latest
58-
# steps:
59-
# - uses: actions/checkout@v6
60-
61-
# - uses: oven-sh/setup-bun@v2
62-
63-
# - name: Quickstart
64-
# # Give the process 3 chances to work
65-
# run: make quickstart || make quickstart || make quickstart
66-
67-
# setup-windows-bun:
68-
# name: Verify Set up (Bun/Windows)
69-
# runs-on: windows-latest
70-
# steps:
71-
# - uses: actions/checkout@v6
55+
setup-linux-bun:
56+
name: Verify Set up (Bun/Linux)
57+
runs-on: ubuntu-latest
58+
steps:
59+
- uses: actions/checkout@v6
7260

73-
# - uses: oven-sh/setup-bun@v1
74-
# with:
75-
# bun-version: latest
61+
- uses: oven-sh/setup-bun@v2
7662

77-
# - name: Install npm dependencies
78-
# run: bun install
63+
- name: Quickstart
64+
run: make quickstart
65+
env:
66+
SKIP_VARIANTS: 1
7967

80-
# - name: Install make
81-
# run: choco install make
68+
setup-windows-bun:
69+
name: Verify Set up (Bun/Windows)
70+
runs-on: windows-latest
71+
steps:
72+
- uses: actions/checkout@v6
8273

83-
# - name: Quickstart
84-
# run: make quickstart
74+
- uses: oven-sh/setup-bun@v2
8575

86-
# setup-node-bun:
87-
# name: Verify Set up (Node/Windows)
88-
# runs-on: windows-latest
89-
# steps:
90-
# - uses: actions/checkout@v6
76+
- name: Install npm dependencies
77+
run: bun install
9178

92-
# - uses: actions/setup-node@v6
93-
# with:
94-
# node-version: 24
79+
- name: Quickstart
80+
run: bun make quickstart
81+
env:
82+
SKIP_VARIANTS: 1
9583

96-
# - name: Install npm dependencies
97-
# run: npm install
84+
setup-node-bun:
85+
name: Verify Set up (Node/Windows)
86+
runs-on: windows-latest
87+
steps:
88+
- uses: actions/checkout@v6
9889

99-
# - name: Install make
100-
# run: choco install make
90+
- uses: actions/setup-node@v6
91+
with:
92+
node-version: 24
10193

102-
# - name: Parts
103-
# run: make ci-setup parts
94+
- name: Install npm dependencies
95+
run: npm install
10496

105-
# - name: Quickstart
106-
# run: make quickstart
97+
- name: Quickstart
98+
run: npm run nodemake quickstart
99+
env:
100+
SKIP_VARIANTS: 1

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
1313
"test": "bun test",
1414
"prepare": "npx simple-git-hooks",
15-
"make": "bun src/scripts/mini-make.ts",
16-
"nodemake": "node --import ./src/model_gen/register_loader.js src/scripts/mini-make.ts"
15+
"make": "bun src/scripts/mini-make.js",
16+
"nodemake": "node src/scripts/mini-make.js"
1717
},
1818
"dependencies": {
1919
"@mdi/js": "^7.4.47",

src/model_gen/parts.ts

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -312,19 +312,22 @@ async function main() {
312312
trackpadRounding: 2,
313313
}, { size: '57x80' })
314314

315-
// Make all combinations of trackballs
316-
const trackballCode = fileURLToPath(new URL('./parametric/trackball-gen.ts', import.meta.url))
317-
for (const v of allVariants('trackball') as TrackballVariant[]) {
318-
const url = variantURL({ type: 'trackball', variant: v } as any)
319-
const stepName = join(targetDir, `key-trackball${url}.step`.toLowerCase())
320-
const glbName = join(targetDir, `switch-trackball${url}.glb`.toLowerCase())
321-
pool.addIfModified(`${v.size} trackball, ${v.bearings}, ${v.sensor}`, stepName, [trackballCode], async () => {
322-
await writeModel(stepName, trackballSocket({ diameter: parseFloat(v.size), bearings: v.bearings, sensor: v.sensor }))
323-
})
324-
if (v.bearings == 'BTU (7.5mm)' || v.bearings == 'BTU (9mm)') {
325-
pool.addIfModified(`${v.size} trackball BTU Part, ${v.bearings}, ${v.sensor}`, glbName, [trackballCode], async () => {
326-
await writeMesh(glbName, trackballPart({ diameter: parseFloat(v.size), bearings: v.bearings, sensor: v.sensor }))
315+
// Variants take a very long time, so CI skips them for OS checks
316+
if (!process.env.SKIP_VARIANTS) {
317+
// Make all combinations of trackballs
318+
const trackballCode = fileURLToPath(new URL('./parametric/trackball-gen.ts', import.meta.url))
319+
for (const v of allVariants('trackball') as TrackballVariant[]) {
320+
const url = variantURL({ type: 'trackball', variant: v } as any)
321+
const stepName = join(targetDir, `key-trackball${url}.step`.toLowerCase())
322+
const glbName = join(targetDir, `switch-trackball${url}.glb`.toLowerCase())
323+
pool.addIfModified(`${v.size} trackball, ${v.bearings}, ${v.sensor}`, stepName, [trackballCode], async () => {
324+
await writeModel(stepName, trackballSocket({ diameter: parseFloat(v.size), bearings: v.bearings, sensor: v.sensor }))
327325
})
326+
if (v.bearings == 'BTU (7.5mm)' || v.bearings == 'BTU (9mm)') {
327+
pool.addIfModified(`${v.size} trackball BTU Part, ${v.bearings}, ${v.sensor}`, glbName, [trackballCode], async () => {
328+
await writeMesh(glbName, trackballPart({ diameter: parseFloat(v.size), bearings: v.bearings, sensor: v.sensor }))
329+
})
330+
}
328331
}
329332
}
330333

0 commit comments

Comments
 (0)