Commit Graph

2949 Commits

Author SHA1 Message Date
André Roth 2d78c467b7 fix test 2026-06-15 00:50:41 +02:00
André Roth 909c5bb116 fix tests 2026-06-14 23:58:18 +02:00
André Roth 06bcce22d4 fix azure 2026-06-14 23:58:18 +02:00
André Roth b07665da50 remove swagger 2026-06-14 23:58:18 +02:00
André Roth 034131c7a9 fix ststem test 2026-06-14 23:34:25 +02:00
André Roth c9b1d723c3 fix test 2026-06-14 21:57:48 +02:00
André Roth 9346901001 disable swagger 2026-06-14 20:56:17 +02:00
André Roth 6416440ed3 go: mod tidy 2026-06-14 20:48:41 +02:00
André Roth cb3c0519d6 fix unit tests 2026-06-14 20:48:04 +02:00
André Roth be7c232204 swagger: remove test 2026-06-14 20:41:01 +02:00
André Roth 5ff470fd59 fix test 2026-06-14 20:14:32 +02:00
André Roth 8f76f4c24d go: mod tidy 2026-06-14 19:55:45 +02:00
André Roth 57c93177ad publish: support MultiDist toggle 2026-06-14 19:55:45 +02:00
André Roth 2a7a04ee32 tasks: fix race conditions
* show resources in task details
* fix task state locking
* return task object consistently

Race condition iexisted where task State, err, and processReturnValue fields
were written by consumer goroutine and read by concurrent accessors without
proper synchronization, causing torn reads and data races.
2026-06-14 19:55:45 +02:00
André Roth 7ccb256841 mirror: fix race conditions
* load data inside background tasks
  Perform collection.LoadComplete inside maybeRunTaskInBackground
  Have tasks use a fresh copy of taskCollectionFactory, taskCollection
2026-06-14 19:55:45 +02:00
André Roth 00e17d82fe snapshot: fix race conditions
* perform collection.LoadComplete inside maybeRunTaskInBackground
 * have tasks use a fresh copy of taskCollectionFactory, taskCollection
 * fix locking for snapshots of snapshots by locking SourceSnapshots
 * use uuids, since names can be renamed
2026-06-14 19:55:45 +02:00
André Roth 867310e8f1 repos: fix race conditions
* load data inside background tasks
  Perform collection.LoadComplete inside maybeRunTaskInBackground
  Have tasks use a fresh copy of taskCollectionFactory, taskCollection
* use uuids, since names can be renamed
2026-06-14 19:55:45 +02:00
André Roth fbac933c30 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
* add test for MultiDist change
2026-06-14 19:55:45 +02:00
André Roth 1ab61457a5 cleanup 2026-06-14 19:53:09 +02:00
André Roth 9b1a0ec2da ci: update codecov-action to 7.0.0 2026-06-14 19:53:09 +02:00
André Roth 5cfc5a6b8e ci: use correct ubuntu 26.04 codename 2026-06-14 19:53:09 +02:00
Catalin Muresan 4655d7c188 Added tests to please codeconv 2026-06-14 19:53:09 +02:00
Catalin Muresan 88ee47045f Fix crash in aptly db recover 2026-06-14 19:53:09 +02:00
André Roth 84c8e5cf22 docs: fix typos 2026-06-14 19:53:09 +02:00
André Roth 813d9c660d ci: build for ubuntu 26.04 2026-06-14 19:53:09 +02:00
André Roth 057fcaa598 system tests: do not depend on launchpad.net 2026-06-14 19:53:09 +02:00
André Roth 0b6af54eee config: allow setting PPA Base URL 2026-06-14 19:53:09 +02:00
André Roth 66e6d3ac6f document prometheus API
* enable in dev and test env
* fix api/repos doc
2026-06-14 19:53:09 +02:00
dependabot[bot] 0aebd14f13 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-06-14 19:53:09 +02:00
dependabot[bot] b909bccfcd 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-06-14 19:53:09 +02:00
Russell Greene 62c92e4256 fix docs for Serve in API mode 2026-06-14 19:53:09 +02:00
dependabot[bot] 2f0b2cf4de build(deps): bump requests from 2.32.4 to 2.33.0 in /system
Bumps [requests](https://github.com/psf/requests) from 2.32.4 to 2.33.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.4...v2.33.0)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.33.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-14 19:53:09 +02:00
André Roth 79bd81e937 ci: do not upload coverage for dependabot 2026-06-14 19:53:09 +02:00
André Roth b1cb14e921 ci: fix coverage 2026-06-14 19:53:09 +02:00
Tim Foerster 091b6f9948 Add SOURCE_DATE_EPOCH support for reproducible builds
Implement support for the SOURCE_DATE_EPOCH environment variable as
specified by reproducible-builds.org. When set, this variable overrides
the current timestamp in the Release file's Date and Valid-Until fields,
enabling reproducible filesystem publishes.

- Read SOURCE_DATE_EPOCH environment variable in Publish()
- Use the epoch timestamp for both Date and Valid-Until fields
- Gracefully fallback to current time if unset or invalid
- Add comprehensive tests for valid and invalid SOURCE_DATE_EPOCH values
2026-06-14 19:53:09 +02:00
André Roth 213fbccead multi sign: add test 2026-06-14 19:53:09 +02:00
Ales Bregar f06e428caf clearer REST api docs, put whitespace to docs to show that keyId strings are trimmed 2026-06-14 19:53:09 +02:00
Ales Bregar 8b521fc722 updating REST api with multiple gpg keys support, due backwards compatibility introducing CSV under same key (gpg-key) 2026-06-14 19:53:09 +02:00
Ales Bregar 7895edd100 review fix 2026-06-14 19:53:09 +02:00
Ales Bregar 5e3460ae62 system test t12_api sends empty keyRef string, making gpg fail 2026-06-14 19:53:09 +02:00
Ales Bregar 58480d747f system test unexpected string fix (would be helpful, but not changing the test just for this) 2026-06-14 19:53:09 +02:00
Ales Bregar 7716d4236d system test configuration fix 2026-06-14 19:53:09 +02:00
Ales Bregar 6a8723484d documentation updated 2026-06-14 19:53:09 +02:00
Ales Bregar ec4503c941 white space revert to minimize change 2026-06-14 19:53:09 +02:00
Ales Bregar bd95012687 - #309 adding gpgKeys config key, accepting array of keyRef, cli args has precedence
- #691 adding handling of multiple keyRefs when signing with gpg
2026-06-14 19:53:09 +02:00
André Roth d4da3d5440 tasklist: fix deadlocks
* lock correct resources
* unlock list before queueing
2026-06-14 19:53:09 +02:00
André Roth dff6bbb165 ci: fail on failed coverage upload 2026-06-14 19:53:09 +02:00
André Roth c9bae4c454 unit-test: use /smallfs when non-root 2026-06-14 19:53:09 +02:00
André Roth 95ef905ca9 ci: provide 1MB /smallfs to docker 2026-06-14 19:53:09 +02:00
André Roth 6a5f494a1f ci: run unit tests in docker
- run separate unit-test job
- build docker
- allow make docker-unit-tests in ci
2026-06-14 19:53:09 +02:00