André Roth
80e4e9bdac
publish: fix race conditions
...
* remove useless resource lock
Resource locks need to be before the background task. creating same publish endpoint at the same time is unlikely...
* load data inside background tasks
This fixes a flaw in async apis, which loaded the published repo from the DB and mutated it outside the task closure, before the task lock was acquired.
Perform collection.LoadComplete inside maybeRunTaskInBackground and have tasks use a fresh copy of taskCollectionFactory, taskCollection
* lock source repos/snapshots for publish operations
Concurrent tasks were not properly locking their resources, leading to inconsistent published indexes:
SourceLocalRepo: iterate published.Sources (component -> source UUID), look up each local repo via localRepoCollection.ByUUID and append string(repo.Key()) to resources
SourceSnapshot: iterate b.Snapshots,look up each snapshot via snapshotCollection.ByName and append string(snapshot.ResourceKey()) to resources.
* lock pool on non MultiDist publish
* revert mutex on LinkFromPool
* use uuids, since names can be renamed
2026-06-11 12:25:49 +02:00
André Roth
2974558aa7
cleanup
2026-06-07 23:46:43 +02:00
André Roth
00773f9840
ci: update codecov-action to 7.0.0
2026-06-07 22:53:09 +02:00
André Roth
8dc61cf362
ci: use correct ubuntu 26.04 codename
2026-05-17 10:16:01 +02:00
André Roth
4a9ddbdc34
Merge pull request #1565 from muresan/fix/aptly-crash-db-recover
...
Crash in aptly db recover
2026-05-15 16:51:51 +02:00
André Roth
c316ea9b73
Merge pull request #1567 from aptly-dev/fix/doc-typos
...
docs: fix typos
2026-05-15 16:49:14 +02:00
André Roth
d027a251ba
Merge pull request #1571 from aptly-dev/feature/ubu26.04
...
ci: build for ubuntu 26.04
2026-05-15 16:48:55 +02:00
André Roth
16b6348710
ci: build for ubuntu 26.04
2026-05-15 00:05:35 +02:00
Catalin Muresan
1c1abe6b10
Added tests to please codeconv
2026-05-14 23:33:27 +02:00
Catalin Muresan
c4bfbe52ca
Fix crash in aptly db recover
2026-05-14 23:33:27 +02:00
André Roth
c723fea807
docs: fix typos
2026-05-04 11:35:55 +02:00
André Roth
0d31298f37
Merge pull request #1568 from aptly-dev/fix/launchpad-test-dependency
...
Fix/launchpad test dependency
2026-05-04 11:30:56 +02:00
André Roth
bba6bd7db5
system tests: do not depend on launchpad.net
2026-05-04 11:05:04 +02:00
André Roth
faeaad0378
config: allow setting PPA Base URL
2026-05-04 11:05:04 +02:00
André Roth
a20eb6866a
document prometheus API
...
* enable in dev and test env
* fix api/repos doc
2026-04-26 23:56:05 +02:00
André Roth
809ab47042
Merge pull request #1559 from linuxdataflow/feat/pls/api-package-count
...
feat(api): add NumPackages to mirrors/repos/snapshots list responses
2026-04-26 18:39:24 +02:00
André Roth
0b84009b4a
tests: add new arguments
2026-04-26 18:37:36 +02:00
Pierig Le Saux
92d7561d49
test(api): add coverage for NumPackages list handlers and error paths
2026-04-26 18:37:36 +02:00
Pierig Le Saux
e908531bef
feat(api): add NumPackages to mirrors/repos/snapshots list responses
...
add API response wrappers with NumPackages derived from RefList length; keep show endpoint payloads unchanged for backward compatibility; add API tests for list endpoint NumPackages; update swagger response schemas for list endpoints
2026-04-26 18:37:36 +02:00
André Roth
f8620d10b2
Merge pull request #1558 from linuxdataflow/feat/pls/gpg-list-and-delete
...
list and delete gpg keys
2026-04-26 18:36:30 +02:00
Pierig Le Saux
8be72b48a1
update
2026-04-26 17:44:25 +02:00
Pierig Le Saux
5655480e00
add codecoverage
2026-04-26 17:44:25 +02:00
Pierig Le Saux
3c8defa304
update
2026-04-26 17:44:25 +02:00
Pierig Le Saux
1ed50697ec
fix: delete is interactive
2026-04-26 17:44:25 +02:00
Pierig Le Saux
3b432d42b5
documentation
2026-04-26 17:44:25 +02:00
Pierig Le Saux
89e3bdfa07
delete a gpg key
2026-04-26 17:44:25 +02:00
André Roth
f8d2d3cb8d
fix lint errors
2026-04-26 17:41:12 +02:00
André Roth
01004e19c0
Merge pull request #1546 from aptly-dev/dependabot/go_modules/google.golang.org/grpc-1.79.3
...
build(deps): bump google.golang.org/grpc from 1.64.1 to 1.79.3
2026-04-26 17:11:45 +02:00
dependabot[bot]
92bb28149c
build(deps): bump google.golang.org/grpc from 1.64.1 to 1.79.3
...
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go ) from 1.64.1 to 1.79.3.
- [Release notes](https://github.com/grpc/grpc-go/releases )
- [Commits](https://github.com/grpc/grpc-go/compare/v1.64.1...v1.79.3 )
---
updated-dependencies:
- dependency-name: google.golang.org/grpc
dependency-version: 1.79.3
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-26 14:43:41 +00:00
André Roth
652210acfa
Merge pull request #1554 from aptly-dev/dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/s3-1.97.3
...
build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.67.1 to 1.97.3
2026-04-26 16:38:23 +02:00
André Roth
45f3da256b
Merge pull request #1543 from PhilipCramer/feat/appstream-mirror-support
...
Add appstream support
2026-04-26 15:36:07 +02:00
dependabot[bot]
3c5e83366a
build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3
...
Bumps [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2 ) from 1.67.1 to 1.97.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.67.1...service/s3/v1.97.3 )
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
dependency-version: 1.97.3
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-26 13:12:54 +00:00
Philip Cramer
a7a4bb7001
test: improve test coverage for AppStream feature
2026-04-26 15:04:38 +02:00
Philip Cramer
2f7f726d4c
fix: reject AppStream flag for flat repos instead of silently skipping
2026-04-26 15:04:38 +02:00
Philip Cramer
43d7284657
docs: update man page and AUTHORS for AppStream support
2026-04-26 15:04:37 +02:00
Philip Cramer
02423af931
fix: prevent db cleanup from deleting AppStream pool files
2026-04-26 15:04:17 +02:00
Philip Cramer
2a228625e2
test: add system test for AppStream publish pass-through
2026-04-26 15:04:17 +02:00
Philip Cramer
16e0302f30
test: update snapshot golden files for AppStream field
2026-04-26 15:04:17 +02:00
Philip Cramer
6ecbc9ba90
test: add system tests for AppStream mirror create, edit, and update
2026-04-26 15:04:17 +02:00
Philip Cramer
7276b9621f
feat: add --with-appstream to bash/zsh shell completions
2026-04-26 15:04:17 +02:00
Philip Cramer
fb7734b5b0
test: add unit tests for AppStream pass-through feature
2026-04-26 15:04:17 +02:00
Philip Cramer
29c37293b9
feat: wire AppStream support through CLI, API, and publish
2026-04-26 15:04:17 +02:00
Philip Cramer
f25ba2e6b0
feat: propagate AppStreamFiles through snapshots
2026-04-26 15:04:17 +02:00
Philip Cramer
6a5b9ddacf
feat: add AppStream (DEP-11) download support to RemoteRepo
2026-04-26 15:04:17 +02:00
André Roth
48355f65ed
Merge pull request #1542 from tonobo/reproducible-publish
...
Add SOURCE_DATE_EPOCH support for GPG signers
2026-04-26 15:01:27 +02:00
Tim Foerster
d616977904
Add SOURCE_DATE_EPOCH support for GPG signers
...
Both the external GPG signer (--faked-system-time) and internal Go
OpenPGP signer (signerConfig.Time) now honor SOURCE_DATE_EPOCH,
producing reproducible signatures alongside the plain Release file dates.
Adds system tests for both signer backends verifying byte-identical
Release, Release.gpg and InRelease across repeated publishes.
The signer tests (PublishRepo3[78]Test) are using an ed25519 key because
ed25519 signatures are deterministic by design. The Go openpgp library
uses a random nonce for DSA/ECDSA (see signature.go Sign calls using
config.Random() link below) so those signatures vary across runs
even with a fixed timestamp, making byte-identical verification impossible.
In addition to 49f342878a
Ref: https://github.com/aptly-dev/aptly/pull/1537
Ref: https://github.com/ProtonMail/go-crypto/blob/v1.4.0/openpgp/packet/signature.go#L945-L979
2026-04-26 14:32:23 +02:00
André Roth
3c068febde
Merge pull request #1541 from aptly-dev/dependabot/go_modules/github.com/cloudflare/circl-1.6.3
...
build(deps): bump github.com/cloudflare/circl from 1.6.1 to 1.6.3
2026-04-26 14:31:08 +02:00
dependabot[bot]
76adbe49e0
build(deps): bump github.com/cloudflare/circl from 1.6.1 to 1.6.3
...
Bumps [github.com/cloudflare/circl](https://github.com/cloudflare/circl ) from 1.6.1 to 1.6.3.
- [Release notes](https://github.com/cloudflare/circl/releases )
- [Commits](https://github.com/cloudflare/circl/compare/v1.6.1...v1.6.3 )
---
updated-dependencies:
- dependency-name: github.com/cloudflare/circl
dependency-version: 1.6.3
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-26 12:00:02 +00:00
André Roth
f6221a2413
Merge pull request #1535 from lecafard/push-qxtqtunqqqnu
...
Add edit mirror API endpoint
2026-04-26 13:57:49 +02:00
André Roth
4f46cb04f5
Merge pull request #1561 from russelltg/docs
...
fix docs for Serve in API mode
2026-04-25 20:07:40 +02:00