Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 10 additions & 0 deletions .github/workflows/deploy-slidev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,23 @@ jobs:
- name: Build Slidev deck
run: bun run build

- name: Install cloud worker image deck dependencies
working-directory: drafts/2026-cloud-worker-images-brownbag
run: bun install

- name: Build cloud worker image deck
working-directory: drafts/2026-cloud-worker-images-brownbag
run: bun run build

- name: Assemble Pages site
run: |
rm -rf ../../public
mkdir -p ../../public
cp -R ../../site/. ../../public/
mkdir -p ../../public/drafts/2026-hardware-platform-configuration-managment-overview
cp -R dist/. ../../public/drafts/2026-hardware-platform-configuration-managment-overview/
mkdir -p ../../public/drafts/2026-cloud-worker-images-brownbag
cp -R ../2026-cloud-worker-images-brownbag/dist/. ../../public/drafts/2026-cloud-worker-images-brownbag/

- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
Expand Down
32 changes: 32 additions & 0 deletions drafts/2026-cloud-worker-images-brownbag/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# 2026 cloud worker images brownbag

This deck explains how Mozilla RelOps builds, tests, and deploys Firefox CI cloud worker images. It is for Firefox developers and other Mozilla teams that use CI.

## View and develop the deck

View the [deployed deck](https://mozilla-platform-ops.github.io/presentations/drafts/2026-cloud-worker-images-brownbag/#/1).

The source is in `slides.md`. Use Slidev for the full viewer.

```bash
bun install
bun run dev
```

Build the GitHub Pages version:

```bash
bun run build
```

Build a local version:

```bash
bun run build:local
```

Export a PDF:

```bash
bun run export
```
1,480 changes: 1,480 additions & 0 deletions drafts/2026-cloud-worker-images-brownbag/bun.lock

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions drafts/2026-cloud-worker-images-brownbag/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name": "2026-cloud-worker-images-brownbag",
"private": true,
"type": "module",
"scripts": {
"dev": "slidev --remote --open",
"build": "slidev build --base ./ --router-mode hash && node scripts/patch-slidev-pages-build.mjs",
"build:local": "slidev build",
"export": "slidev export"
},
"devDependencies": {
"@slidev/cli": "^52.16.0",
"@slidev/theme-default": "^0.25.0"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { readdir, readFile, writeFile } from 'node:fs/promises'
import { join } from 'node:path'

const dist = new URL('../dist/', import.meta.url)

async function patchFile(path) {
let text = await readFile(path, 'utf8')
text = text.replace(
'return`./${n?`export/${r}`:t?`presenter/${r}`:`${r}`}`',
'return n?`./export/${r}`:t?`/presenter/${r}`:`./${r}`',
)
await writeFile(path, text)
}

await patchFile(new URL('index.html', dist))
await patchFile(new URL('404.html', dist))

for (const file of await readdir(new URL('assets/', dist))) {
if (file.startsWith('index-') && file.endsWith('.js'))
await patchFile(join(dist.pathname, 'assets', file))
}
Loading