Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix/s3 publshing #12

Closed
wants to merge 199 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
199 commits
Select commit Hold shift + click to select a range
bb42a21
Add support for Azure storage as a publishing backend
chuan Jun 10, 2016
a778ff8
Fix the storage string format.
chuan Dec 21, 2021
4a6d53e
Include AzurePublishEndpoints in the manpage template
andrewshadura Dec 16, 2021
208a215
every go routine needs to have its own collection factory
Nov 18, 2016
1e7731c
Removed obsolete RWMutexes
Nov 18, 2016
f7f42a9
Database changes of resources need to be atomic
Nov 18, 2016
1c7c07a
db batch may not be a global resource
Nov 21, 2016
25d7d7c
Solving progress not safe issue for api
Nov 25, 2016
e63d74d
Fixed not running tests
Nov 28, 2016
6ab5e60
Add task api and resource locking ability
May 22, 2017
d7ccf95
Added mirror api based on task list
May 22, 2017
b0ab8f4
Added gpg api so mirror updates are fully functional from api
May 22, 2017
3cd168c
Combine publish list progress into one
May 17, 2018
f09a273
Add publish output progress counting remaining number of packages
May 17, 2018
b4efe6a
Add db cleanup api
Jun 20, 2018
c052888
log download retries
neolynx Jun 29, 2019
d13de04
api: allow renaming repos
neolynx Sep 26, 2020
8e02a03
fix gpg keys
neolynx Sep 28, 2020
faf2d58
Use verifier from context
lbolla Jan 5, 2021
2b7bb24
api gpg: show gpg command
neolynx Oct 11, 2020
19f7b0f
mirror: increase logging for easier debugging
lbolla May 4, 2021
79a7cf8
mirror: interrupt goroutine when done
lbolla May 5, 2021
5a65ce6
mirror: add more logging
lbolla May 5, 2021
209b030
gpg: fix downloading multiple keys
neolynx Apr 1, 2021
de2be9b
Sleep between retries to download from http
lbolla Jun 23, 2021
fd83c1a
Cap delay to sleep to avoid overflow
lbolla Jun 25, 2021
2fa3ade
Don't use transactions when direct db access is enough
lbolla Aug 24, 2021
914ddf4
Fix syntax error
lbolla Aug 24, 2021
bd4c3a2
Add new AUTHORS
lbolla Aug 26, 2021
9b28d89
Configurable background task execution
lbolla Sep 8, 2021
0914cd1
Use global async flag as fallback on per-request flag
lbolla Sep 14, 2021
ff51c46
More informative return value for task.Process
lbolla Sep 20, 2021
787cc8e
Fix system tests
lbolla Sep 21, 2021
8c94973
Fix indentation
lbolla Oct 27, 2021
fb8b05e
Fix rebase
lbolla Nov 2, 2021
370e3cd
Fix unittests
lbolla Nov 2, 2021
6826efc
Fix pure-go unittests
lbolla Nov 2, 2021
b281819
Make truthy function less surprising
lbolla Dec 16, 2021
beb9d43
Use newer golangci-lint source as the former is abandoned.
ximon18 Jan 24, 2022
8e309b5
Workaround differences in the GHA Ubuntu 18.04 environment compared t…
ximon18 Jan 24, 2022
cd76e48
Initial attempt at a GitHub Actions workflow to emulate the previousl…
ximon18 Jan 24, 2022
4cb9ac5
Fix syntax error.
ximon18 Jan 24, 2022
9f9a1a1
Matrix elements must be arrays.
ximon18 Jan 24, 2022
20b038b
continue-on-error value must be a boolean
ximon18 Jan 24, 2022
5b8c909
Disable testing against Go master for now.
ximon18 Jan 24, 2022
c1cdb69
golint: "Json" in func name should be "JSON".
ximon18 Jan 25, 2022
9aa9917
golint: "Json" in func name should be "JSON".
ximon18 Jan 25, 2022
e2d1e9a
govet: compose literal uses unkeyed fields
ximon18 Jan 25, 2022
5342e54
govet: compose literal uses unkeyed fields
ximon18 Jan 25, 2022
78082bc
Add a comment referring to the original Travis CI config from the new…
ximon18 Jan 25, 2022
ef25417
govet: compose literal uses unkeyed fields
ximon18 Jan 25, 2022
4cf57ae
govet: compose literal uses unkeyed fields
ximon18 Jan 25, 2022
3775d69
Fix linting errors
lbolla Jan 25, 2022
7412b84
Fix flake8 lint errors
lbolla Jan 25, 2022
4a9a5bc
Fix some failing system tests
lbolla Jan 25, 2022
4933e3c
Try to fix test failing on CI
lbolla Jan 25, 2022
8ecd01b
Temporarily skip test failing on CI
lbolla Jan 25, 2022
9bf1a44
Fix test after merge
lbolla Jan 26, 2022
ed7a960
Trigger CI on every push
randombenj Jan 26, 2022
a83dea7
Build for newer go versions
randombenj Jan 26, 2022
0dc49d2
Silence unhelpful linter error
lbolla Jan 26, 2022
91c3ed8
Fix failing tests
lbolla Jan 26, 2022
d60e575
Re-enable testing on go 1.17
lbolla Jan 26, 2022
30e9406
Ignore dates in test
lbolla Jan 26, 2022
122ff60
Typo correction in GHA workflow comment
ximon18 Jan 26, 2022
48635c8
Strip irrelevant lines from test output
lbolla Jan 26, 2022
70f7d74
Allow to check for empty output in tests
lbolla Jan 26, 2022
bda6eb4
Update minimum required go version
randombenj Jan 27, 2022
a40cfc6
Only run system test with latest go version
randombenj Jan 27, 2022
035d531
Convert tests to Python 3
lbolla Jan 27, 2022
f93bc6e
Fix badges
randombenj Jan 27, 2022
8941928
Grab downloader
lbolla Oct 8, 2021
eaac04c
Improve logging in grab downloader
lbolla Oct 8, 2021
eff2e56
Specify output filename instead of directory
lbolla Oct 8, 2021
3e06af8
Disable checksum for now
lbolla Oct 8, 2021
b5d90b7
Add more logging
lbolla Oct 8, 2021
952287a
Reenable checksums
lbolla Oct 8, 2021
86c1ffa
Add logs for checksum
lbolla Oct 8, 2021
853c990
Handle checksums
lbolla Oct 8, 2021
e5d9d27
Wrap errors with more context
lbolla Oct 8, 2021
e96372c
Implement ignore checksum mismatch
lbolla Oct 8, 2021
8925949
Support rate limiting in grab downloader
lbolla Oct 8, 2021
4c54f96
Fix error checking
lbolla Oct 8, 2021
235e35a
Rate limit 0 effectively disables rate limiting
lbolla Oct 8, 2021
cc30ef3
Remove vendor directory
lbolla Nov 10, 2021
1afcd68
Make downloader type configurable
lbolla Jan 28, 2022
551a370
Basic tests for Grab downloader
lbolla Jan 28, 2022
2c68175
Update man pages
lbolla Jan 28, 2022
814d4db
deb: fix importing dbgsym packages with versioned Source field
peat-psuwit Jan 8, 2021
ff5eb53
Fix: typo in aptly web page link
chanix95 Feb 4, 2022
5d98546
Use a more recent GPG key server
lbolla Feb 4, 2022
1361bf2
Revive skipped tests
lbolla Feb 7, 2022
e8ec638
Fix linting errors
lbolla Feb 8, 2022
21029c3
Add release to CI
randombenj Feb 10, 2022
fd40406
Use University of Utah mirror in tests
lbolla Feb 13, 2022
f89350e
Timeout CI build job after 30 minutes
lbolla Feb 12, 2022
c46f12f
Update the gpg key of the `repo.aptly.info` repository in the documen…
maciej-gol Mar 30, 2022
5a23f71
Add support for zst compression
mbearup Mar 22, 2022
5b98039
Remove 1.14 from CI
Mar 29, 2022
c1e577c
Add unittest for zstd compression support
NeroBurner Apr 4, 2022
47bda05
Publish releases and nightly builds from ci
randombenj Apr 4, 2022
cf98718
Fix default branch name in ci
randombenj Apr 5, 2022
d2d168f
Fix system test env setup
randombenj Apr 5, 2022
c29ccaa
Fix typo in ci config
randombenj Apr 5, 2022
0302e39
Update gin and jwt-go dependencies
randombenj Apr 5, 2022
8046fb1
Fix failing checks
randombenj Apr 5, 2022
6539e1b
Add metrics endpoint with http metrics using Prometheus client lib
Mar 15, 2022
db19a56
Add functional test for metrics endpoint
Mar 31, 2022
d955b06
Fix artifacts publishing
randombenj Apr 12, 2022
152538c
Support custom Azure publish endpoint
chuan Apr 22, 2022
4c04e77
enh: Give info when unable to load list of repos
smutel Apr 22, 2022
954b222
Use proper version comparisions for querys
russelltg Apr 22, 2022
751fd2f
add myself to authors
russelltg Apr 22, 2022
0a17988
Enable Azure publish unit tests in Github actions
chuan Apr 29, 2022
a0544dc
fix: typo in the comments
myml Jun 6, 2022
f9f1c8e
Update azurite dir
chuan Jun 7, 2022
29deae6
api: allow parameters with urlencoded names
sjoerdsimons Jun 12, 2022
a687df2
Use python3 for system tests
sjoerdsimons Jun 18, 2022
4b2efee
Cope with zero-length http downloads
mkke Jun 14, 2022
f519ecd
Update azure dependency
randombenj Jun 20, 2022
35ad6ca
Upload code coverage
randombenj Jun 20, 2022
6f130e1
Add codecov configuration
randombenj Jun 20, 2022
26254a0
Run go mod tidy
sjoerdsimons Jun 21, 2022
2aca913
Use parallel gzip instead of gzip for compression
sjoerdsimons Jun 18, 2022
f61514e
Allow disabling bzip2 compression for index files
sjoerdsimons Jun 18, 2022
c9f5763
S3: support disabling ACL with `none` value
wadey Jun 22, 2022
3ce2774
Test utils
randombenj Jun 30, 2022
bfc86d3
Test copyfile
randombenj Jun 30, 2022
69d473e
Fix failing mirror test
randombenj Jul 11, 2022
1d4e618
Capture coverage of integration tests
randombenj Jul 11, 2022
ff3bf4b
Improve error messages
randombenj Jul 12, 2022
515e553
Fix temp dir on ci
randombenj Jul 12, 2022
f0a85b2
Fix release build
randombenj Jul 12, 2022
abf8abb
upgrade go-xz go module
Jul 25, 2022
af89914
Fix wrong nil check for SkipBz2
randombenj Aug 11, 2022
afdc10b
Fix golangci-lint
randombenj Aug 11, 2022
42cfee2
Fix mirror test
randombenj Aug 11, 2022
393d1a6
api: Allow querying the packages endpoint
sjoerdsimons Aug 14, 2022
a59cad6
Enable the ability to pass in a custom codename
Oct 30, 2019
47930a4
Fix system test
Oct 31, 2019
9042651
Fix PublishSnapshot39Test_release_i386 system test
Oct 31, 2019
b3d9055
Fix system tests for custom codenames
jbayfield Aug 18, 2022
268c39e
add forceVirtualHostedStyle for stores which only support virtual hos…
boxjan Sep 1, 2022
e90ac67
Update AUTHORS
boxjan Sep 1, 2022
71fd730
Return an empty array if no tasks are available
randombenj Nov 17, 2022
352f4e8
update golangci-lint and replace deprecated calls to io/ioutil
Sep 22, 2022
2020ca9
add ready and healthy probe endpoints
Jul 1, 2022
ced5ac7
return the snapshot in apiSnapshotsCreate
samuelba Dec 22, 2022
81582bf
Bump github.com/aws/aws-sdk-go from 1.25.0 to 1.33.0
dependabot[bot] Dec 30, 2022
ecc41f0
replace AbortWithError calls by custom function that sets the content…
Oct 26, 2022
0c74992
Bump github.com/aws/aws-sdk-go from 1.33.0 to 1.34.0
dependabot[bot] Feb 14, 2023
8e62195
implement structured logging
Jun 30, 2022
c187b0d
Fix: Switch gin mode depending on aptly.EnableDebug
reglim Mar 7, 2023
dbf1ac7
Fix: Drop Publish returned wrong status code if not found
reglim Mar 7, 2023
aaa6222
Fix: Make CodeCov Pipeline more lenient
reglim Mar 7, 2023
5b5307c
Fix CodeCov Config has two targets and thresholds
reglim Mar 10, 2023
90932cd
Improvement: Remove Magic Numbers in Tests with Tasks
reglim Mar 10, 2023
77e02bf
Feature: Add Merge Snapshot API
reglim Mar 10, 2023
bece12a
update golangci-lint to v1.51.2
Mar 17, 2023
e25ade8
Serve api and published repos simultaneously
aol-nnov Sep 26, 2022
f74217e
implement system tests for serving api and published repos simultaneo…
Mar 17, 2023
0fdba29
make serving published repos in api mode configurable
Mar 20, 2023
9c6f896
add endpoint for listing repos while serving in api mode and add more…
Mar 20, 2023
d1102e2
Fix: Pipeline dependency on deb.debian.org, replace with archive
reglim May 10, 2023
c9b1782
Fix CreateMirror9Test by removing Acquire-By-Hash
reglim May 10, 2023
95ca6fb
Fix: Replace security.debian.org with archive
reglim May 10, 2023
0ae9884
Fix: Tests with jenkins repo not finding public key.
reglim May 10, 2023
7c8dd73
Fix: Missing newline makes tests fail
reglim May 12, 2023
f6a7030
Try to fix UnixSocketAPITest by upgrading dependencies
reglim May 12, 2023
76744ea
Fix Release failing 'Cannot find goxc'
reglim May 12, 2023
1df8cff
Update go-xz to 0.1.0
sjoerdsimons May 19, 2023
8f53e01
Show storage of publish on graph
strike Apr 13, 2023
1501a4e
Add strike to AUTHORS
strike Apr 15, 2023
ecc0551
Fix publishing race condition
randombenj May 1, 2023
847fd90
chore: unnecessary use of fmt.Sprintf
testwill Jul 14, 2023
214e907
Fix returncode when deleting a mirror with snapshot
Crawax Jul 24, 2023
ee4c83e
Fix: Pipeline failing because of nvidia repo change
reglim Aug 18, 2023
40c242f
Fix: Remove Batch from API options, set to true by default, add comments
reglim Aug 18, 2023
18203c6
Fix: Pipeline failing because of outdated Repo
reglim Sep 13, 2023
972bf6b
Update Golang to 1.21 and dependencies
reglim Sep 13, 2023
f4a152a
Update CI to only use 1.21 and python 3.11
reglim Sep 13, 2023
ae61706
Fix: Implement golangci-lint suggestions
reglim Sep 13, 2023
0d20c59
Fix: Change expected output for malformed input that changed in Go
reglim Sep 14, 2023
f155ed3
Set Golangci-lint timeout to 5m
reglim Sep 14, 2023
889fcc2
Improve test output regex for better perf
refi64 Sep 7, 2023
ed45c44
Fix the test output regex on Go 1.20
refi64 Sep 7, 2023
322e5c1
Add myself to authors
refi64 Sep 22, 2023
3aaf0a8
Switch to aws-sdk-go-v2
lebauce Oct 13, 2023
11deb94
Shut down cleanly when 'api serve' is interrupted
refi64 Sep 5, 2023
f1649a6
Bump golang.org/x/net from 0.15.0 to 0.17.0
dependabot[bot] Oct 24, 2023
cfcab13
replace `golang.org/x/crypto/openpgp` with `github.com/ProtonMail/go-…
paulcacheux Oct 31, 2023
5ca3a97
add name to authors
paulcacheux Oct 31, 2023
99dbe31
fix `t09_repo/IncludeRepo21Test_gold` gold error
paulcacheux Oct 31, 2023
aeef41b
add support for `EdDSA` keys in `pubkeyAlgorithmName`
paulcacheux Nov 9, 2023
525a687
clean pathCache
sf-nwaller Sep 28, 2023
f897150
Update AUTHORS
sf-nwaller Sep 29, 2023
aa96206
s3: fix FileExists not working in some go versions
neolynx Jan 2, 2024
b85f240
s3: clear / invalidate pathCache for repeated operations
neolynx Jan 2, 2024
14bd670
s3: respect default ACLs
neolynx Jan 2, 2024
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
139 changes: 139 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
# Based on https://github.com/aptly-dev/aptly/blob/master/.travis.yml

name: CI

on:
pull_request:
push:
tags:
- 'v*'
branches:
- 'master'

defaults:
run:
# see: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell
shell: bash --noprofile --norc -eo pipefail -x {0}

env:
DEBIAN_FRONTEND: noninteractive

jobs:
build:
name: test
runs-on: ubuntu-20.04
continue-on-error: false
timeout-minutes: 30

env:
NO_FTP_ACCESS: yes
BOTO_CONFIG: /dev/null
GO111MODULE: "on"
GOPROXY: "https://proxy.golang.org"
GOVER: '1.21'

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: ${{ env.GOVER }}

- name: Get aptly version
run: |
make version
go generate

- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.54.2
args: --timeout=5m

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.11'

- name: Install O/S packages
run: |
sudo apt-get update
sudo apt-get install -y graphviz gnupg1 gnupg2 gpgv1 gpgv2 git gcc make

- name: Install Python packages
run: |
pip install six packaging appdirs virtualenv
pip install -U pip setuptools
pip install -r system/requirements.txt

- name: Install Azurite
id: azuright
uses: potatoqualitee/azuright@v1.1
with:
directory: ${{ runner.temp }}

- name: Make
env:
RUN_LONG_TESTS: 'yes'
AZURE_STORAGE_ENDPOINT: "127.0.0.1:10000"
AZURE_STORAGE_ACCOUNT: "devstoreaccount1"
AZURE_STORAGE_ACCESS_KEY: "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="
run: |
COVERAGE_DIR=${{ runner.temp }} make

- name: Merge code coverage
run: |
go install github.com/wadey/gocovmerge@latest
~/go/bin/gocovmerge unit.out ${{ runner.temp }}/*.out > coverage.txt

- name: Upload code coverage
uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage.txt

release:
name: release
needs: build
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
# fetch the whole repot for `git describe` to
# work and get the nightly verion
fetch-depth: 0

- name: Setup Go
uses: actions/setup-go@v4

- name: Make Release
env:
GOBIN: /usr/local/bin
run: |
make release

- name: Publish nightly release to aptly
if: github.ref == 'refs/heads/master'
env:
APTLY_USER: ${{ secrets.APTLY_USER }}
APTLY_PASSWORD: ${{ secrets.APTLY_PASSWORD }}
run: |
./upload-artifacts.sh nightly

- name: Publish release to aptly
if: startsWith(github.event.ref, 'refs/tags')
env:
APTLY_USER: ${{ secrets.APTLY_USER }}
APTLY_PASSWORD: ${{ secrets.APTLY_PASSWORD }}
run: |
./upload-artifacts.sh release

- name: Upload artifacts to GitHub Release
if: startsWith(github.event.ref, 'refs/tags')
uses: softprops/action-gh-release@v1
with:
body: Release ${{ github.ref }} generated by the CI.
files: build/*
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,11 @@ man/aptly.1.ronn
system/env/

# created by make build for release artifacts
VERSION
aptly.test

build/

pgp/keyrings/aptly2*.gpg
pgp/keyrings/aptly2*.gpg~
pgp/keyrings/.#*
14 changes: 4 additions & 10 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,14 @@ run:


linters:
enable-all: false
disable-all: true
enable:
- govet
- golint
- goconst
- gofmt
- deadcode
- goimports
- misspell
- govet
- ineffassign
- misspell
- revive
- staticcheck
- varcheck
- structcheck
- maligned
- vetshadow
- goconst
- interfacer
17 changes: 17 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,20 @@ List of contributors, in chronological order:
* Raul Benencia (https://github.com/rul)
* Don Kuntz (https://github.com/dkuntz2)
* Joshua Colson (https://github.com/freakinhippie)
* Andre Roth (https://github.com/neolynx)
* Lorenzo Bolla (https://github.com/lbolla)
* Benj Fassbind (https://github.com/randombenj)
* Markus Muellner (https://github.com/mmianl)
* Chuan Liu (https://github.com/chuan)
* Samuel Mutel (https://github.com/smutel)
* Russell Greene (https://github.com/russelltg)
* Wade Simmons (https://github.com/wadey)
* Steven Stone (https://github.com/smstone)
* Josh Bayfield (https://github.com/jbayfield)
* Boxjan (https://github.com/boxjan)
* Mauro Regli (https://github.com/reglim)
* Alexander Zubarev (https://github.com/strike)
* Nicolas Dostert (https://github.com/acdn-ndostert)
* Ryan Gonzalez (https://github.com/refi64)
* Paul Cacheux (https://github.com/paulcacheux)
* Nic Waller (https://github.com/sf-nwaller)
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Please report unacceptable behavior to [team@aptly.info](mailto:team@aptly.info)

There are two kinds of documentation:

* [aptly website](https://www.aptly/info)
* [aptly website](https://www.aptly.info)
* aptly `man` page

Core content is mostly the same, but website contains more information, tutorials, examples.
Expand Down
30 changes: 17 additions & 13 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
GOVERSION=$(shell go version | awk '{print $$3;}')
ifdef TRAVIS_TAG
TAG=$(TRAVIS_TAG)
else
TAG="$(shell git describe --tags --always)"
endif
VERSION=$(shell echo $(TAG) | sed 's@^v@@' | sed 's@-@+@g')
GOPATH=$(shell go env GOPATH)
TAG="$(shell git describe --tags --always)"
VERSION=$(shell echo $(TAG) | sed 's@^v@@' | sed 's@-@+@g' | tr -d '\n')
PACKAGES=context database deb files gpg http query swift s3 utils
PYTHON?=python
PYTHON?=python3
TESTS?=
BINPATH?=$(GOPATH)/bin
RUN_LONG_TESTS?=yes
COVERAGE_DIR?=$(shell mktemp -d)

all: modules test bench check system-test

prepare:
curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(shell go env GOPATH)/bin v1.19.1
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(shell go env GOPATH)/bin v1.51.2

modules:
go mod download
go mod verify
go mod tidy -v

dev:
go get -u github.com/laher/goxc
PATH=$(BINPATH)/:$(PATH)
go get github.com/laher/goxc
go install github.com/laher/goxc

check: system/env
ifeq ($(RUN_LONG_TESTS), yes)
Expand All @@ -31,24 +31,27 @@ ifeq ($(RUN_LONG_TESTS), yes)
endif

install:
go install -v -ldflags "-X main.Version=$(VERSION)"
go generate
go install -v

system/env: system/requirements.txt
ifeq ($(RUN_LONG_TESTS), yes)
rm -rf system/env
virtualenv system/env
$(PYTHON) -m venv system/env
system/env/bin/pip install -r system/requirements.txt
endif

system-test: install system/env
ifeq ($(RUN_LONG_TESTS), yes)
go generate
go test -v -coverpkg="./..." -c -tags testruncli
if [ ! -e ~/aptly-fixture-db ]; then git clone https://github.com/aptly-dev/aptly-fixture-db.git ~/aptly-fixture-db/; fi
if [ ! -e ~/aptly-fixture-pool ]; then git clone https://github.com/aptly-dev/aptly-fixture-pool.git ~/aptly-fixture-pool/; fi
PATH=$(BINPATH)/:$(PATH) && . system/env/bin/activate && APTLY_VERSION=$(VERSION) $(PYTHON) system/run.py --long $(TESTS)
PATH=$(BINPATH)/:$(PATH) && . system/env/bin/activate && APTLY_VERSION=$(VERSION) $(PYTHON) system/run.py --long $(TESTS) --coverage-dir $(COVERAGE_DIR)
endif

test:
go test -v ./... -gocheck.v=true -race -coverprofile=coverage.txt -covermode=atomic
go test -v ./... -gocheck.v=true -coverprofile=unit.out

bench:
go test -v ./deb -run=nothing -bench=. -benchmem
Expand All @@ -64,6 +67,7 @@ goxc: dev
cp completion.d/aptly root/etc/bash_completion.d/
cp completion.d/_aptly root/usr/share/zsh/vendor-completions/
gzip root/usr/share/man/man1/aptly.1
go generate
goxc -pv=$(VERSION) -max-processors=2 $(GOXC_OPTS)

release: GOXC_OPTS=-tasks-=bintray,go-vet,go-test,rmbin
Expand Down
14 changes: 7 additions & 7 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
aptly
=====

.. image:: https://api.travis-ci.org/aptly-dev/aptly.svg?branch=master
:target: https://travis-ci.org/aptly-dev/aptly
.. image:: https://github.com/aptly-dev/aptly/actions/workflows/ci.yml/badge.svg
:target: https://github.com/aptly-dev/aptly/actions

.. image:: https://codecov.io/gh/aptly-dev/aptly/branch/master/graph/badge.svg
:target: https://codecov.io/gh/aptly-dev/aptly
:target: https://codecov.io/gh/aptly-dev/aptly

.. image:: https://badges.gitter.im/Join Chat.svg
:target: https://gitter.im/aptly-dev/aptly?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge

.. image:: http://goreportcard.com/badge/aptly-dev/aptly
:target: http://goreportcard.com/report/aptly-dev/aptly
.. image:: https://goreportcard.com/badge/github.com/aptly-dev/aptly
:target: https://goreportcard.com/report/aptly-dev/aptly

Aptly is a swiss army knife for Debian repository management.

Expand Down Expand Up @@ -48,7 +48,7 @@ To install aptly on Debian/Ubuntu, add new repository to ``/etc/apt/sources.list

And import key that is used to sign the release::

$ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ED75B5A4483DA07C
$ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EE727D4449467F0E

After that you can install aptly as any other software package::

Expand All @@ -64,7 +64,7 @@ If you would like to use nightly builds (unstable), please use following reposit

Binary executables (depends almost only on libc) are available for download from `GitHub Releases <https://github.com/aptly-dev/aptly/releases>`_.

If you have Go environment set up, you can build aptly from source by running (go 1.11+ required)::
If you have Go environment set up, you can build aptly from source by running (go 1.14+ required)::

git clone https://github.com/aptly-dev/aptly
cd aptly
Expand Down
Loading