Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
ccd0633
feat: rewrite pkg-builder with clean 5-crate architecture
eniko1556 Mar 8, 2026
868f2b1
fix: rename binary to pkg-builder and disable jammy CI tests
eniko1556 Mar 8, 2026
01ada16
feat: add Debian 13 (Trixie) distribution support
eniko1556 Mar 8, 2026
53fe2bc
refactor: move debcrafter into its own crate
eniko1556 Mar 8, 2026
1dbdfc9
fix: resolve toml version mismatch and add trixie CI job
eniko1556 Mar 8, 2026
6dce191
fix: pass correct dest dir to debcrafter for debian/ generation
eniko1556 Mar 8, 2026
5314ae7
fix: run autopkgtest with sudo for /dev/kvm access
eniko1556 Mar 8, 2026
8f1b91e
fix: use correct distribution in trixie example files
eniko1556 Mar 8, 2026
87d6f64
refactor: extract reusable packaging workflow for better CI grouping
eniko1556 Mar 8, 2026
47c54a2
fix: move matrix into reusable workflow for correct UI nesting
eniko1556 Mar 8, 2026
64af6f8
chore: add CI job to compare old vs new bookworm .deb output
eniko1556 Mar 8, 2026
17de407
fix: install debcrafter binary for old build and exclude .build logs
eniko1556 Mar 8, 2026
e531ac6
Merge branch 'main' into refactor/rewrite
eniko1556 Mar 9, 2026
77688e6
ci: re-enable packaging tests on PRs and remove compare-debs workflow
eniko1556 Mar 9, 2026
76e72d6
Merge branch 'main' into refactor/rewrite
eniko1556 Mar 9, 2026
59c4a9b
feat: add chroot pinning via Debian snapshot archives
eniko1556 Mar 9, 2026
d22e0de
feat: declarative Makefile generator replacing hardcoded runtime crate
eniko1556 Mar 11, 2026
d855e71
refactor: replace internal debcrafter crate with external binary
eniko1556 Mar 12, 2026
fc0826e
refactor: generate idiomatic Makefiles with file-based dependency tra…
eniko1556 Mar 12, 2026
1fb108b
feat: consolidate verify config into pkg-builder.toml and add clean/f…
eniko1556 Mar 12, 2026
7f164ca
chore: drop jammy and python examples
eniko1556 Mar 12, 2026
b73c838
fix: correct package name to hello-world-c in bookworm c example and …
eniko1556 Mar 12, 2026
fc57371
feat: support git submodule pinning and reproducible source tarballs
eniko1556 Mar 12, 2026
4ead577
feat: enable full CI coverage across distros, add README and license
eniko1556 Mar 12, 2026
0338f4c
docs: restructure documentation into mdBook site with Diataxis framework
eniko1556 Mar 12, 2026
d07300b
chore: fix bash array syntax in build-all.sh, sort Makefile vars, and…
eniko1556 Mar 12, 2026
4d27182
fix: use BTreeMap for runtime vars to ensure deterministic Makefile o…
eniko1556 Mar 13, 2026
8fc98d4
refactor: remove jammy support, python runtime, and duplicate Makefil…
eniko1556 Mar 13, 2026
a3f2eec
feat: add --install-deps flag to auto-install missing dependencies
eniko1556 Mar 13, 2026
cb6ae0e
refactor: regenerate examples with INSTALL_DEPS support, fix lintian …
eniko1556 Mar 13, 2026
222c67f
ci: add GitHub Actions workflow to deploy mdBook docs to Pages
eniko1556 Mar 13, 2026
ae8d6e0
fix: make --install-deps a global flag so it works with env create in CI
eniko1556 Mar 13, 2026
03a8bd6
refactor: restructure CLI with grouped commands and global --config flag
eniko1556 Mar 13, 2026
6e51e1e
fix: run piuparts and autopkgtest conditionally in CI instead of via …
eniko1556 Mar 13, 2026
6e2510d
fix: remove all .git entries (files and dirs) from git source tarballs
eniko1556 Mar 13, 2026
6a4db2e
fix: use empty tar from /dev/null for virtual packages to ensure repr…
eniko1556 Mar 13, 2026
2ba4e82
chore: update CI dependencies to latest versions
eniko1556 Mar 13, 2026
e89ec79
refactor: rewrite makefile crate with builder/IR/parser/renderer arch…
eniko1556 Mar 13, 2026
8682c87
refactor: remove tool and pipeline crates, inline verify into CLI
eniko1556 Mar 13, 2026
5106512
feat: implement init command with new pkg-builder-init library crate
eniko1556 Mar 13, 2026
047a8eb
chore: add release-plz for automated releases and backfill changelog
eniko1556 Mar 13, 2026
df6f6da
docs: update for init command and crate restructuring, revert version…
eniko1556 Mar 13, 2026
183ca80
fix: address code review findings — security hardening, bug fixes, an…
eniko1556 Mar 13, 2026
1d3b79b
fix: validate config values against shell injection in generated Make…
eniko1556 Mar 13, 2026
cf4c0b1
feat: implement update command with new pkg-builder-update library crate
eniko1556 Mar 13, 2026
e1ea159
refactor: replace recipe DSL with runtime .mk files and hardcoded pip…
eniko1556 Mar 22, 2026
26f9eb0
refactor: generate sbuild.conf with Perl runtime profiles, remove tes…
eniko1556 Mar 22, 2026
d1ca96e
refactor: replace manual TOML generation with serde serialization
eniko1556 Mar 22, 2026
b40de7c
refactor: replace Makefile generation with direct Rust executor
eniko1556 Mar 22, 2026
b042ea7
chore: bump all crates to 0.4.0-rc.1 and configure release-plz for pr…
eniko1556 Mar 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
52 changes: 0 additions & 52 deletions .github/actions/run-packaging-tests/action.yml

This file was deleted.

39 changes: 0 additions & 39 deletions .github/actions/setup-packaging-env/action.yml

This file was deleted.

17 changes: 8 additions & 9 deletions .github/actions/setup-sbuild/action.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
name: 'Setup sbuild'
description: 'Sets up sbuild environment'
description: 'Installs sbuild and its dependencies'

runs:
using: "composite"
steps:
- name: Sbuild setup
- name: Install sbuild and dependencies
shell: bash
run: |
sudo apt-get update
# Note this is an older version of sbuild, no need to patch it, yet
sudo apt install -y debhelper schroot ubuntu-dev-tools
sudo apt-get -y install pkg-config libssl-dev uidmap
sudo apt-get install -y libfilesys-df-perl libmime-lite-perl
wget https://github.com/eth-pkg/sbuild-ubuntu/releases/download/0.85-6-1/sbuild_0.85.6_all.deb
wget https://github.com/eth-pkg/sbuild-ubuntu/releases/download/0.85-6-1/libsbuild-perl_0.85.6_all.deb
sudo apt-get install -y debhelper schroot ubuntu-dev-tools \
pkg-config libssl-dev uidmap \
libfilesys-df-perl libmime-lite-perl
wget -q https://github.com/eth-pkg/sbuild-ubuntu/releases/download/0.85-6-1/sbuild_0.85.6_all.deb
wget -q https://github.com/eth-pkg/sbuild-ubuntu/releases/download/0.85-6-1/libsbuild-perl_0.85.6_all.deb
sudo dpkg -i sbuild_0.85.6_all.deb libsbuild-perl_0.85.6_all.deb || true
sudo sbuild-adduser `whoami`
sudo sbuild-adduser $(whoami)
48 changes: 48 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Deploy docs

on:
push:
branches:
- main
paths:
- "docs/**"
workflow_dispatch:

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

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

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Install mdBook
uses: peaceiris/actions-mdbook@v2
with:
mdbook-version: "0.4.43"

- name: Build docs
run: mdbook build docs

- name: Upload artifact
uses: actions/upload-pages-artifact@v4
with:
path: docs/book

deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
61 changes: 61 additions & 0 deletions .github/workflows/release-plz.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Release-plz

permissions:
pull-requests: write
contents: write

on:
push:
branches:
- main

jobs:
release-plz:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable

- name: Run release-plz
id: release-plz
uses: release-plz/release-plz-action@v0.5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Update example versions on release PR
if: steps.release-plz.outputs.prs_created == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASE_PLZ_PR: ${{ steps.release-plz.outputs.pr }}
run: |
# Parse the PR branch from the output
PR_JSON="${RELEASE_PLZ_PR}"
PR_BRANCH=$(echo "$PR_JSON" | jq -r '.head_branch')

if [ -z "$PR_BRANCH" ] || [ "$PR_BRANCH" = "null" ]; then
echo "Could not determine PR branch, skipping example version bump"
exit 0
fi

git fetch origin "$PR_BRANCH"
git checkout "$PR_BRANCH"

# Read the new CLI version from the bumped Cargo.toml
VERSION=$(grep '^version' crates/cli/Cargo.toml | head -1 | sed 's/.*"\(.*\)"/\1/')
echo "Bumping example versions to $VERSION"

bash scripts/bump-example-versions.sh "$VERSION"

# Commit and push if there are changes
if ! git diff --quiet examples/; then
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add examples/
git commit -m "chore: bump pkg_builder version to $VERSION in examples"
git push origin "$PR_BRANCH"
fi
Loading