mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-06-30 09:27:57 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f04d2e390e | |||
| 1c1c131b95 |
@@ -0,0 +1,21 @@
|
||||
name: test aptly upload-lint
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
aptly-upload:
|
||||
name: upload
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Publish to aptly server
|
||||
uses: neolynx/aptly-github-action/publish@v0.0.15
|
||||
with:
|
||||
directory: buildout
|
||||
aptly_server: https://aptly.info
|
||||
aptly_user: ${{ secrets.APTLY_USER }}
|
||||
aptly_password: ${{ secrets.APTLY_PASSWORD }}
|
||||
|
||||
@@ -16,4 +16,3 @@ git push origin v$version master
|
||||
- update version in content/download.md
|
||||
- push commit to master
|
||||
- create release announcement on https://github.com/aptly-dev/aptly/discussions
|
||||
- update aptly infrastructure
|
||||
|
||||
@@ -597,7 +597,6 @@ func apiMirrorsUpdate(c *gin.Context) {
|
||||
if err == nil {
|
||||
return &task.ProcessReturnValue{Code: http.StatusConflict, Value: nil}, fmt.Errorf("unable to rename: mirror %s already exists", b.Name)
|
||||
}
|
||||
remote.Name = b.Name
|
||||
}
|
||||
|
||||
downloader := context.NewDownloader(out)
|
||||
|
||||
Vendored
-52
@@ -1,55 +1,3 @@
|
||||
aptly (1.6.3) stable; urgency=medium
|
||||
|
||||
* NEW FEATURES:
|
||||
* Google Cloud Storage (GCS) publish backend (https://github.com/aptly-dev/aptly/pull/1550)
|
||||
* dput-compatible file upload API (https://github.com/aptly-dev/aptly/pull/1436)
|
||||
* JFrog Artifactory publish backend (https://github.com/aptly-dev/aptly/pull/1553)
|
||||
* AppStream (DEP-11) mirror support (https://github.com/aptly-dev/aptly/pull/1543)
|
||||
* Multiple GPG keys support (https://github.com/aptly-dev/aptly/pull/1479)
|
||||
* GPG key list & delete API (https://github.com/aptly-dev/aptly/pull/1558)
|
||||
* Edit mirror API endpoint (https://github.com/aptly-dev/aptly/pull/1535)
|
||||
* NumPackages in list responses (https://github.com/aptly-dev/aptly/pull/1559)
|
||||
* Mirror latest packages (https://github.com/aptly-dev/aptly/pull/1513)
|
||||
* Reproducible builds / `SOURCE_DATE_EPOCH` support (https://github.com/aptly-dev/aptly/pull/1537), https://github.com/aptly-dev/aptly/pull/1542)
|
||||
* `Release` file `Version` field support (https://github.com/aptly-dev/aptly/pull/1533)
|
||||
* `InRelease` file `Signed-By` field support (https://github.com/aptly-dev/aptly/pull/1518), https://github.com/aptly-dev/aptly/pull/1519)
|
||||
* GCP / Google Artifact Registry authentication (https://github.com/aptly-dev/aptly/pull/1505)
|
||||
* Update publish label & origin (https://github.com/aptly-dev/aptly/pull/1484)
|
||||
* Ubuntu 26.04 / resolute builds (https://github.com/aptly-dev/aptly/pull/1571)
|
||||
* BUG FIXES:
|
||||
* Race condition & concurrency fixes for the REST API (https://github.com/aptly-dev/aptly/pull/1574)
|
||||
* Fix empty line in `Package-List` for source packages (https://github.com/aptly-dev/aptly/pull/1588)
|
||||
* Publish: check storage exists before publishing (https://github.com/aptly-dev/aptly/pull/1587)
|
||||
* S3 publish race condition (https://github.com/aptly-dev/aptly/pull/1594)
|
||||
* Repo edit name optionally (https://github.com/aptly-dev/aptly/pull/1593)
|
||||
* Fix crash in `aptly db recover` (https://github.com/aptly-dev/aptly/pull/1565)
|
||||
* Fix deadlocks in task list (https://github.com/aptly-dev/aptly/pull/1529)
|
||||
* Fix S3 re-upload issue (https://github.com/aptly-dev/aptly/pull/1480)
|
||||
* Fix `aptly repo edit` API (https://github.com/aptly-dev/aptly/pull/1493)
|
||||
* Fix out-of-disk-space error handling (https://github.com/aptly-dev/aptly/pull/1504)
|
||||
* Fix `aptly mirror update` removing unrelated params (https://github.com/aptly-dev/aptly/pull/1466)
|
||||
* Fix concurrent pool linking race condition (https://github.com/aptly-dev/aptly/pull/1481)
|
||||
* Fix `dpkg`-compliant version comparison (https://github.com/aptly-dev/aptly/pull/1509)
|
||||
* Fix Swagger property casing and spec errors (https://github.com/aptly-dev/aptly/pull/1510), https://github.com/aptly-dev/aptly/pull/1498)
|
||||
* Remove useless nil check (https://github.com/aptly-dev/aptly/pull/1482)
|
||||
* Format Go code with gofmt (https://github.com/aptly-dev/aptly/pull/1483)
|
||||
* DEPENDENCIES CHANGES:
|
||||
* Go toolchain → 1.25.0
|
||||
* `go.opentelemetry.io/otel` → v1.41.0 (https://github.com/aptly-dev/aptly/pull/1586)
|
||||
* `go.opentelemetry.io/otel/sdk` → v1.43.0 (https://github.com/aptly-dev/aptly/pull/1584)
|
||||
* `github.com/go-jose/go-jose/v4` → v4.1.4 (https://github.com/aptly-dev/aptly/pull/1585)
|
||||
* `github.com/go-git/go-git/v5` → v5.19.1 (https://github.com/aptly-dev/aptly/pull/1590)
|
||||
* `github.com/ulikunitz/xz` → v0.5.15 (fixes 32-bit build failures)
|
||||
* `golang.org/x/crypto` → v0.45.0 (https://github.com/aptly-dev/aptly/pull/1506)
|
||||
* `google.golang.org/grpc` → v1.79.3 (https://github.com/aptly-dev/aptly/pull/1546)
|
||||
* `github.com/aws/aws-sdk-go-v2/service/s3` → v1.97.3 (https://github.com/aptly-dev/aptly/pull/1554)
|
||||
* `github.com/cloudflare/circl` → v1.6.3 (https://github.com/aptly-dev/aptly/pull/1461), https://github.com/aptly-dev/aptly/pull/1541)
|
||||
* `requests` (Python, system tests) → 2.33.0 (https://github.com/aptly-dev/aptly/pull/1460), https://github.com/aptly-dev/aptly/pull/1547)
|
||||
* `github.com/ProtonMail/go-crypto` → v1.4.0
|
||||
* `golang.org/x/net` → v0.48.0
|
||||
|
||||
-- André Roth <neolynx@gmail.com> Wed, 24 Jun 2026 18:47:05 +0200
|
||||
|
||||
aptly (1.6.2) stable; urgency=medium
|
||||
|
||||
* doc: add swagger doc for /api/gpg/key (https://github.com/aptly-dev/aptly/pull/1456)
|
||||
|
||||
@@ -279,78 +279,6 @@ class MirrorsAPITestEditArchiveURL(APITest):
|
||||
self.check_equal(resp.json()['ArchiveRoot'], 'http://repo.aptly.info/system-tests/ftp.ch.debian.org/debian/')
|
||||
|
||||
|
||||
class MirrorsAPITestRename(APITest):
|
||||
"""
|
||||
PUT /api/mirrors/:name - Rename mirror via update endpoint
|
||||
"""
|
||||
def check(self):
|
||||
mirror_name = self.random_name()
|
||||
mirror_desc = {'Name': mirror_name,
|
||||
'ArchiveURL': 'http://repo.aptly.info/system-tests/packagecloud.io/varnishcache/varnish30/debian/',
|
||||
'IgnoreSignatures': True,
|
||||
'Distribution': 'wheezy',
|
||||
'Components': ['main'],
|
||||
'Architectures': ['amd64']}
|
||||
|
||||
resp = self.post("/api/mirrors", json=mirror_desc)
|
||||
self.check_equal(resp.status_code, 201)
|
||||
|
||||
# Rename the mirror via PUT
|
||||
new_name = self.random_name()
|
||||
resp = self.put_task("/api/mirrors/" + mirror_name, json={'Name': new_name, 'IgnoreSignatures': True})
|
||||
self.check_task(resp)
|
||||
|
||||
# Old name should no longer exist
|
||||
resp = self.get("/api/mirrors/" + mirror_name)
|
||||
self.check_equal(resp.status_code, 404)
|
||||
|
||||
# New name should exist with correct data
|
||||
resp = self.get("/api/mirrors/" + new_name)
|
||||
self.check_equal(resp.status_code, 200)
|
||||
self.check_subset({'Name': new_name,
|
||||
'ArchiveRoot': 'http://repo.aptly.info/system-tests/packagecloud.io/varnishcache/varnish30/debian/',
|
||||
'Distribution': 'wheezy'}, resp.json())
|
||||
|
||||
|
||||
class MirrorsAPITestRenameConflict(APITest):
|
||||
"""
|
||||
PUT /api/mirrors/:name - Rename mirror to an already existing name should fail with 409
|
||||
"""
|
||||
def check(self):
|
||||
mirror_name_a = self.random_name()
|
||||
mirror_name_b = self.random_name()
|
||||
|
||||
mirror_desc_a = {'Name': mirror_name_a,
|
||||
'ArchiveURL': 'http://repo.aptly.info/system-tests/packagecloud.io/varnishcache/varnish30/debian/',
|
||||
'IgnoreSignatures': True,
|
||||
'Distribution': 'wheezy',
|
||||
'Components': ['main'],
|
||||
'Architectures': ['amd64']}
|
||||
|
||||
mirror_desc_b = {'Name': mirror_name_b,
|
||||
'ArchiveURL': 'http://repo.aptly.info/system-tests/packagecloud.io/varnishcache/varnish30/debian/',
|
||||
'IgnoreSignatures': True,
|
||||
'Distribution': 'wheezy',
|
||||
'Components': ['main'],
|
||||
'Architectures': ['amd64']}
|
||||
|
||||
resp = self.post("/api/mirrors", json=mirror_desc_a)
|
||||
self.check_equal(resp.status_code, 201)
|
||||
|
||||
resp = self.post("/api/mirrors", json=mirror_desc_b)
|
||||
self.check_equal(resp.status_code, 201)
|
||||
|
||||
# Try to rename mirror A to mirror B's name — should fail with 409
|
||||
resp = self.put("/api/mirrors/" + mirror_name_a, json={'Name': mirror_name_b, 'IgnoreSignatures': True})
|
||||
self.check_equal(resp.status_code, 409)
|
||||
self.check_in('unable to rename', resp.json()['error'])
|
||||
|
||||
# Mirror A should still exist under its original name
|
||||
resp = self.get("/api/mirrors/" + mirror_name_a)
|
||||
self.check_equal(resp.status_code, 200)
|
||||
self.check_subset({'Name': mirror_name_a}, resp.json())
|
||||
|
||||
|
||||
class MirrorsAPITestEditFlatMirrorUdebs(APITest):
|
||||
"""
|
||||
POST /api/mirrors/{name} - Edit flat mirror with udebs (should fail)
|
||||
|
||||
Reference in New Issue
Block a user