Commit c3a2aef
authored
feat: refactor Docker builds to use native ARM64 runners with Determinate Nix (#25)
* feat: refactor Docker build to use native ARM64 runners with Determinate Nix
Key improvements:
- Use GitHub's native ARM64 runners (ubuntu-24.04-arm) for public repos
- Replace Docker-in-Docker Nix builds with Determinate Systems installer
- Add Magic Nix Cache for blazing fast rebuilds
- Simplify Dockerfile by using pre-built binaries
- Add .dockerignore for faster context uploads
- Create matrix build strategy for parallel AMD64/ARM64 builds
- Generate multi-arch manifest from individual arch images
Expected benefits:
- 5-7x faster build times (native ARM64 vs QEMU emulation)
- Parallel execution instead of sequential builds
- Better resource utilization with Magic Nix Cache
- Elimination of Docker-in-Docker overhead
* feat: refactor release workflow to use native ARM64 builds
Key improvements:
- Split release into three jobs: prepare-release, build (matrix), manifest
- Use native ARM64 runners (ubuntu-24.04-arm) for ARM64 builds
- Replace QEMU emulation with Determinate Nix installer + Magic Cache
- Parallel AMD64/ARM64 builds instead of sequential
- Maintain all existing release functionality (version bumping, branches, changelog, GitHub releases)
- Create multi-arch manifests from individual architecture images
Expected benefits:
- 5-7x faster release builds (native vs QEMU)
- Parallel execution of AMD64/ARM64 builds
- Magic Nix Cache for faster subsequent releases
- Better resource utilization with native compilation
* fix: improve release changelog generation
Key improvements:
- Generate changelog BEFORE version bump commit to exclude it
- Categorize commits by type (feat, fix, docs, refactor, chore, other)
- Filter out noise (version bumps, merges, release commits)
- Use emoji categories for better readability
- Pass changelog from prepare-release to manifest job
- Ensure meaningful changes are highlighted in releases
This ensures releases contain useful information about actual changes
rather than just the version bump commit message.
* feat: add branch testing support to release workflow
Key improvements:
- Detect if running on main branch vs feature branch
- On branches: show release preview in step summary (no actual release)
- On main: create actual GitHub release and merge branches
- Prevent version bumps, branch creation, and commits when testing
- Add comprehensive test summaries for branch runs
- Safe testing without side effects
This allows testing the complete release workflow including:
- Version calculation
- Changelog generation
- Docker builds and manifest creation
- Release notes preview
Without creating actual releases or modifying repository.
* style: apply pre-commit formatting fixes
- Fix Nix formatting with alejandra
- Fix YAML formatting with yamlfmt
- Ensure all files comply with project style guidelines
These changes were automatically applied by pre-commit hooks.1 parent 6c2a741 commit c3a2aef
File tree
10 files changed
+388
-146
lines changed- .github/workflows
- docs/examples
- operator
- docker
10 files changed
+388
-146
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
14 | 24 | | |
15 | 25 | | |
16 | 26 | | |
| |||
19 | 29 | | |
20 | 30 | | |
21 | 31 | | |
22 | | - | |
23 | | - | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
24 | 41 | | |
25 | 42 | | |
26 | 43 | | |
| |||
38 | 55 | | |
39 | 56 | | |
40 | 57 | | |
41 | | - | |
| 58 | + | |
42 | 59 | | |
43 | | - | |
| 60 | + | |
44 | 61 | | |
45 | 62 | | |
46 | 63 | | |
| |||
50 | 67 | | |
51 | 68 | | |
52 | 69 | | |
53 | | - | |
| 70 | + | |
54 | 71 | | |
55 | 72 | | |
56 | | - | |
57 | | - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
0 commit comments