Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
5e59f76
add web-based flash page for vamOS
mpurnell1 Mar 28, 2026
a1b1d3d
Temporarily allow flash pushes to trigger pages builds
mpurnell1 Mar 28, 2026
a200f06
fix: load qdl.js from GitHub via esm.sh
mpurnell1 Mar 28, 2026
7d6147a
vendor qdl.js bundle to fix MIME type error
mpurnell1 Mar 28, 2026
cfbd7e4
manifest-driven flash with CORS proxy
mpurnell1 Mar 28, 2026
04e42f4
rewrite flash page as bun project in tools/flash
mpurnell1 Mar 28, 2026
88d6986
add bun lockfile for tools/flash
mpurnell1 Mar 28, 2026
94baeb9
Update gitignore
mpurnell1 Mar 28, 2026
55015b8
manifest-driven FlashManager ported from flash repo
mpurnell1 Mar 28, 2026
f2782cf
add Cloudflare Worker CORS proxy for release assets
mpurnell1 Mar 28, 2026
af53a99
fix: correct Cloudflare Worker URL
mpurnell1 Mar 28, 2026
4f14161
skip partitions not found on device
mpurnell1 Mar 28, 2026
4d2e4a4
rename to flashpack
mpurnell1 Mar 29, 2026
fd531b3
update lockfile for flashpack rename
mpurnell1 Mar 29, 2026
36b086e
rename tools/flash to tools/flashpack
mpurnell1 Mar 29, 2026
5809fb3
switch flashpack to raw.githubusercontent.com, remove Cloudflare proxy
mpurnell1 Mar 29, 2026
02ba014
update flashpack for new manifest format
mpurnell1 Mar 29, 2026
4aa249f
Revert "update flashpack for new manifest format"
mpurnell1 Mar 29, 2026
d983928
fetch manifest from versioned branch
mpurnell1 Mar 29, 2026
08bee7c
fix: close writable stream after chunked download
mpurnell1 Mar 29, 2026
fea48ee
add device picker, port diagrams, and conditional unbind step
mpurnell1 Mar 29, 2026
c4a07ff
fix: keep CLI flash scripts in tools/flash/
mpurnell1 Mar 29, 2026
16c461a
add stepper navigation to go back to previous steps
mpurnell1 Mar 29, 2026
ab14a39
add Windows Zadig step, fix stepper navigation between devices
mpurnell1 Mar 29, 2026
ee8e1a8
named stepper labels, preserve selection when going back
mpurnell1 Mar 29, 2026
5295598
update README.md
greatgitsby Mar 29, 2026
b94729e
build: enable multithreading for erofs compression (#95)
robin-reckmann Mar 29, 2026
91a6748
Revert CI images in GitHub (#101)
greatgitsby Apr 1, 2026
bd69c46
ci: fix PR comment for fork PRs (#102)
greatgitsby Apr 1, 2026
ba7b198
ci: fix profile workflow race with build-system check (#105)
greatgitsby Apr 2, 2026
e00514b
ci: publish images to vamos-images repo (#104)
greatgitsby Apr 2, 2026
c5998a5
Fix redirect
mpurnell1 Apr 2, 2026
f1c2264
Remove test trigger
mpurnell1 Apr 2, 2026
c56341e
Merge branch 'master' into flash
mpurnell1 Apr 2, 2026
eb84daf
Add option to set custom domain in the future
mpurnell1 Apr 2, 2026
9b578ad
Enable test deploys again
mpurnell1 Apr 2, 2026
613ab60
Make suggested changes from review
mpurnell1 Apr 2, 2026
354bf5e
Don't build flash commits
mpurnell1 Apr 2, 2026
bb75bb5
Remove init status
mpurnell1 Apr 2, 2026
e16dd2b
Make callbacks public
mpurnell1 Apr 2, 2026
400c04d
Flash -> flashpack
mpurnell1 Apr 2, 2026
3246779
bump deploy version to address Node 20 deprecation warnings
mpurnell1 Apr 2, 2026
3feabe2
Update other deprecated actions
mpurnell1 Apr 2, 2026
d046975
Update final package using Node 20
mpurnell1 Apr 19, 2026
ecff0f9
Merge branch 'master' into flash
mpurnell1 Apr 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: deploy pages

on:
push:
branches: [master]
paths:
- 'tools/flashpack/**'
- '.github/workflows/pages.yml'

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: true

jobs:
deploy:
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/checkout@v5

- uses: oven-sh/setup-bun@v2

- name: build
working-directory: tools/flashpack
run: |
bun install
bun run build

- name: configure pages
uses: actions/configure-pages@v6

- name: upload artifact
uses: actions/upload-pages-artifact@v5
with:
path: tools/flashpack/dist

- name: deploy to github pages
id: deployment
uses: actions/deploy-pages@v5
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,7 @@
**/.DS_Store
**/*.tar.xz

__pycache__/
__pycache__/

tools/flashpack/dist
tools/flashpack/node_modules
23 changes: 23 additions & 0 deletions tools/flashpack/build.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
const gitSha = Bun.spawnSync(["git", "rev-parse", "HEAD"]).stdout.toString().trim();

const build = await Bun.build({
entrypoints: ["./src/index.html"],
outdir: "./dist",
sourcemap: "linked",
minify: true,
define: {
"process.env.GIT_SHA": JSON.stringify(gitSha),
},
});

if (!build.success) {
for (const log of build.logs) console.error(log);
process.exit(1);
}

const outputs = build.outputs.map(({ path, kind, size }) => ({
path,
kind,
"size (KiB)": (size / 1024).toFixed(1),
}));
console.table(outputs);
56 changes: 56 additions & 0 deletions tools/flashpack/bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions tools/flashpack/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"name": "flashpack",
"type": "module",
"scripts": {
"dev": "bun run serve.ts",
"build": "bun run build.ts"
},
"dependencies": {
"@commaai/qdl": "github:commaai/qdl.js"
},
"devDependencies": {
"@types/bun": "latest",
"typescript": "^5.0.0"
},
"trustedDependencies": [
"@commaai/qdl"
]
}
12 changes: 12 additions & 0 deletions tools/flashpack/serve.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import index from "./src/index.html";

const server = Bun.serve({
static: {
"/": index,
},
development: true,
fetch() {
return new Response("404!");
},
});
console.info(`Running on http://${server.hostname}:${server.port}`);
Loading
Loading