Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
4907dbe
feat(cli): rework build / test environment handling
mikonse Oct 2, 2026
e71ce99
feat(changelog): add new changelog entries
TheJJ Oct 6, 2026
e8f9e90
refactor(cli): resolve the source dir in main for every command
TheJJ Oct 6, 2026
8803a52
refactor(common): model debian/control and debian/copyright
TheJJ Oct 7, 2026
63a833b
fix(build): install fakeroot when Rules-Requires-Root needs it
TheJJ Oct 6, 2026
4c7af37
fix(env): adjust table column widths
TheJJ Oct 6, 2026
ce43087
fix(upload): display counter before filename
TheJJ Oct 6, 2026
a6ccf2d
fix(build): find the orig tarball in the output dir
TheJJ Oct 7, 2026
35a8504
feat(cli): accept yes/no for boolean flags
TheJJ Oct 7, 2026
339929b
feat(upstream): add `upstream fetch` for orig tarballs
TheJJ Oct 7, 2026
94c7bc1
fix(upstream): fetch GitHub tag tarballs
TheJJ Oct 7, 2026
8107592
feat(upload): replace --no-hooks with --hooks[=no]
TheJJ Oct 7, 2026
2d98f57
feat(upstream): support the oversionmangle watch option
TheJJ Oct 7, 2026
0bbb488
fix(upstream): exclude bare directory patterns from listed files
TheJJ Oct 7, 2026
8099d86
fix(sign): verify upstream signatures against armored keys
TheJJ Oct 7, 2026
16ef46f
fix: send a User-Agent with HTTP requests
TheJJ Oct 7, 2026
ad4a944
feat(upstream): support v4 MUT watch lines
TheJJ Oct 7, 2026
aba5bc2
fix(upstream): replace whole dirs on switch
TheJJ Oct 7, 2026
f970abd
fix(distro): resolve pocket suites like resolute-security
TheJJ Oct 7, 2026
d3d5e10
feat(build): notify when a build finishes
TheJJ Oct 7, 2026
a9948dd
feat(env): upgrade packages in build environments
TheJJ Oct 7, 2026
d6b0638
fix(build): copy the orig tarball when it can't be hardlinked
TheJJ Oct 7, 2026
e9aad8a
fix(build): stage MUT component origs for source builds
TheJJ Oct 8, 2026
c4a6c2a
fix(upload): let dput-ng compat shim see ppa uploads not as main arch…
TheJJ Oct 8, 2026
c4c2c8d
refactor(cli): share identical flags between commands
TheJJ Oct 8, 2026
7effced
feat(notify): global notify default, --notify on test, sign and upload
TheJJ Oct 8, 2026
008d08f
feat(upload): name the upload target in the signing notification
TheJJ Oct 8, 2026
e1dcd2a
fix(build): don't sign binary builds by default
TheJJ Oct 8, 2026
4d63ea3
fix(upstream): stage an orig tarball kept as a symlink in `..`
TheJJ Oct 8, 2026
9bebfa9
feat(build): use build-debmagic/ when upstream owns build/
TheJJ Oct 9, 2026
ea39ad6
fix(build): parse debian/control with comments inside a field
TheJJ Oct 14, 2026
3f40b73
fix(build): don't truncate an orig tarball staged twice
TheJJ Oct 14, 2026
e0fd7c7
test(config): ignore the user-global config in unit tests
TheJJ Oct 14, 2026
0eb3f95
fix(config): let `config set` create debian/debmagic.toml by default
TheJJ Oct 14, 2026
8fd41be
refactor(common): move artifact filename knowledge out of changes
TheJJ Oct 14, 2026
af9a2ec
feat(build): install what a build needs in one apt transaction
TheJJ Oct 23, 2026
72f67e0
feat(build): read the Debian and Ubuntu releases from distro-info-data
TheJJ Oct 23, 2026
cdd5915
feat(build): build against what a release migrates from with `--propo…
TheJJ Oct 23, 2026
44ccc2b
feat(build): take only some packages from proposed or experimental
TheJJ Oct 23, 2026
470c94c
feat(snap): ship distro-info-data and allow network and home access
TheJJ Oct 23, 2026
be9c743
feat(test): test the archive's build of a package named in --proposed
TheJJ Oct 23, 2026
2a2d87c
feat(config)!: move the apt settings into an [apt] section
TheJJ Oct 23, 2026
318ce87
feat(build): install a package in a version or from an archive with `…
TheJJ Oct 23, 2026
43aa859
feat(build): add PPAs with `--archive`
TheJJ Oct 23, 2026
ac3483b
feat(build): add sources.list deb lines with `--archive`
TheJJ Oct 23, 2026
f41a039
feat(env): add shell and direct command execution
TheJJ Oct 23, 2026
3f0af5f
feat(build): output artifacts to build-area/ by default
TheJJ Oct 23, 2026
beca447
fix: use tempdir for temporary workdirs
TheJJ Oct 24, 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
22 changes: 14 additions & 8 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,10 @@ jobs:
contents: read
# Push of the pre-built CI image is additionally gated to main below.
packages: write
env:
# Registry and Environment Host roots together, so the cached build
# tree stays registered under the same Environment id.
DEBMAGIC_DATA_DIR: /tmp/debmagic-data
steps:
- uses: actions/checkout@v5
- uses: Swatinem/rust-cache@v2
Expand All @@ -149,16 +153,18 @@ jobs:
- name: Cache the debmagic build tree
uses: actions/cache@v4
with:
path: /tmp/debmagic
key: debmagic-build-${{ hashFiles('Cargo.lock', 'debian/changelog', 'debian/control', 'debian/rules') }}
restore-keys: debmagic-build-
- name: Prune stale build trees from the restored cache
path: /tmp/debmagic-data
key: debmagic-data-${{ hashFiles('Cargo.lock', 'debian/changelog', 'debian/control', 'debian/rules') }}
restore-keys: debmagic-data-
- name: Prune Environments of other package versions from the restored cache
run: |
mkdir -p /tmp/debmagic
current="$(dpkg-parsechangelog -SSource)-$(dpkg-parsechangelog -SVersion)"
find /tmp/debmagic -mindepth 1 -maxdepth 1 -type d \
! -name "$current" ! -name "${current}-test" \
-exec rm -rf {} +
cargo run --locked -q -p debmagic -- env list \
| awk -v current="$current" 'NR > 1 && $4 != current { print $1 }' \
| while read -r id; do
cargo run --locked -q -p debmagic -- env clean "$id" \
|| echo "::warning::could not prune Environment $id"
done
- name: Resolve CI image tag
id: image
run: |
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ src/*/*.lock
# testing
/*.conf
/test
/build
/build-area
/build-debmagic
*.snap

# ides
Expand Down
Loading
Loading