- Oct 13, 2023
-
-
Sjoerd Simons authored
publish performance fixes & moving build infra from aptly-repository See merge request !5
-
- Oct 10, 2023
-
-
Ryan Gonzalez authored
This imports the docker & helm setup, since having it all in one repo makes the update process a bit smoother. There are a few changes to the original docker setup: - The startup script has several improvements: - It actually forwards command-line arguments to aptly. - APTLY_PROFILE can be set at runtime to enable profiling, writing the data to /aptly/data/profile. - The dockerfile can build aptly w/ debugging enabled if APTLY_DEBUG=true is given, which can be passed over via GitLab CI variables. - GOFLAGS will be forwarded to the builder stage in the dockerfile, which is useful for passing down some development-related flags. The latter two points in particular make it easier to build and run versions of aptly w/ profiling enabled, for debugging performance and resource usage issues. Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
Reflists are basically stored as arrays of strings, which are quite space-efficient in MessagePack. Thus, using zero-copy decoding results in nice performance and memory savings, because the overhead of separate allocations ends up far exceeding the overhead of the original slice. With the included benchmark run for 20s with -benchmem, the runtime, memory usage, and allocations go from ~740us/op, ~192KiB/op, and 4100 allocs/op to ~240us/op, ~97KiB/op, and 13 allocs/op, respectively. https://github.com/aptly-dev/aptly/pull/1222 Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
The cleanup phase needs to list out all the files in each component in order to determine what's still in use. When there's a large number of sources (e.g. from having many snapshots), the time spent just loading the package information becomes substantial. However, in many cases, most of the packages being loaded are actually shared across the sources; if you're taking frequent snapshots, for instance, most of the packages in each snapshot will be the same as other snapshots. In these cases, re-reading the packages repeatedly is just a waste of time. To improve this, we maintain a list of refs that we know were processed for each component. When listing the refs from a source, only the ones that have not yet been processed will be examined. Some tests were also added specifically to check listing the files in a component. With this change, listing the files in components on a copy of our production database went from >10 minutes to ~10 seconds, and the newly added benchmark went from ~300ms to ~43ms. https://github.com/aptly-dev/aptly/pull/1222 Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
When merging reflists with ignoreConflicting set to true and overrideMatching set to false, the individual ref components are never examined, but the refs are still split anyway. Avoiding the split when we never use the components brings a massive speedup: on my system, the included benchmark goes from ~1500 us/it to ~180 us/it. https://github.com/aptly-dev/aptly/pull/1222 Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
In some local tests w/ a slowed down filesystem, this massively cut down on the time to clean up a repository by ~3x, bringing a total 'publish update' time from ~16s to ~13s. https://github.com/aptly-dev/aptly/pull/1222 Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
This will properly close the db and, more particularly, flush out any profile files being written. Otherwise, they can end up empty or truncated. https://github.com/aptly-dev/aptly/pull/1219 Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
- May 24, 2023
-
-
There's no apparent reason to disallow this type of characters in the distribution name. Aptly will just create the proper subdirectories to that path. Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com>
-
Ryan Gonzalez authored
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
This adds support for storing packages directly on Azure, with no truly "local" (on-disk) repo used. The existing Azure PublishedStorage implementation was refactored to move the shared code to a separate context struct, which can then be re-used by the new PackagePool. In addition, the files package's mockChecksumStorage was made public so that it could be used in the Azure PackagePool tests as well. Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
Several sections of the code *required* a LocalPackagePool, but they could still perform their operations with a standard PackagePool. Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
The contents of `os.Stat` are rather fitted towards local package pools, but the method is in the generic PackagePool interface. This moves it to LocalPackagePool, and the use case of simply finding a file's size is delegated to a new, more generic PackagePool.Size() method. Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
Before, a "partial" URL (either "localhost:port" or an endpoint URL *without* the account name as the subdomain) would be specified, and the full one would automatically be inferred. Although this is somewhat nice, it means that the endpoint string doesn't match the official Azure syntax: https://docs.microsoft.com/en-us/azure/storage/common/storage-configure-connection-string This also raises issues for the creation of functional tests for Azure, as the code to determine the endpoint string needs to be duplicated there as well. Instead, it's just easiest to follow Azure's own standard, and then sidestep the need for any custom logic in the functional tests. Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
None of the commands' output is ever treated as binary, so we can just always decode it as text. Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
Ryan Gonzalez authored
read_path() can read in binary, which the S3 tests don't support (simply because they don't need it)...but it needs to be able to take the `mode` argument anyway. Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
-
- May 19, 2023
-
-
Sjoerd Simons authored
Older versions go-xz didn't wait for child processes meaning for exery unpack action a defunct xz would stick around. This got fixed in 0.1.0 Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
-
- May 15, 2023
-
-
Mauro Regli authored
-
Mauro Regli authored
Updated urllib, requests and requests_unixsocket
-
Mauro Regli authored
-
Mauro Regli authored
-
Mauro Regli authored
-
Mauro Regli authored
-
Mauro Regli authored
This should fix some tests, as a lot of them are dependent on deb.debian.org which no longer supports Debian 9 "Stretch". Instead we use archive.debian.org which will continue to contain "Stretch" packages for a long time.
-
- Mar 22, 2023
-
-
Markus Muellner authored
-
Markus Muellner authored
-
Markus Muellner authored
-
Андрей Лухнов authored
refs #1017 #975
-
Markus Muellner authored
-
- Mar 14, 2023
-
-
Mauro Regli authored
Is part of Issue #176
-
- Mar 13, 2023
-
-
Mauro Regli authored
Replaced 2 with TASK_SUCCEEDED, 3 with TASK_FAILED. fixes: #1158
-
Mauro Regli authored
fixes: #1160
-
- Mar 07, 2023
-
-
Mauro Regli authored
The Pipeline will only fail if the code coverage has fallen more than 2 Percent. fixes: #1154
-
Mauro Regli authored
Deleting a publish that does not exist now results in a status code 404 instead of 500. Fixes: #1006
-
Mauro Regli authored
If aptly.EnableDebug is active, we use Debug, otherwise we use gin.ReleaseMode to remove the annoying nuding messages when running the api. fixes: #1103
-
- Feb 20, 2023
-
-
Markus Muellner authored
-
dependabot[bot] authored
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.33.0 to 1.34.0. - [Release notes](https://github.com/aws/aws-sdk-go/releases) - [Changelog](https://github.com/aws/aws-sdk-go/blob/v1.34.0/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go/compare/v1.33.0...v1.34.0 ) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
-