Commit Graph

62 Commits

Author SHA1 Message Date
André Roth
75530810b5 ci: update actions/checkout module 2024-10-01 01:36:09 +02:00
André Roth
1d1bd41bb8 add swagger support
- install swaggo
- add swagger config option
2024-10-01 01:07:09 +02:00
André Roth
eaa363eb82 ci: allow to force ci build
this should not build release if pipeline triggered on master and master also has a version tag. avoid building same version twice and uploading to ci and release repos.
2024-09-24 10:14:39 +02:00
André Roth
795870bca5 ci: skip deb upload if no creds 2024-09-24 10:14:39 +02:00
André Roth
7e73165409 ci: use tag/branch for release/ci building 2024-09-24 10:14:39 +02:00
André Roth
d9168ed723 ci: log aptly version 2024-09-24 10:14:39 +02:00
André Roth
57fc7f7098 fix github-upload 2024-09-24 10:14:39 +02:00
André Roth
f5dda668e3 ci: do not upload ci on release builds 2024-09-24 10:14:39 +02:00
André Roth
769150dec6 system tests: enable S3 tests 2024-09-24 10:14:39 +02:00
André Roth
02d080955b ci: move scripts to makefile 2024-09-24 10:14:39 +02:00
André Roth
04739a41fa ci: do not unzip articact upload 2024-09-24 10:14:39 +02:00
André Roth
9771747916 improve CI workflow
- use debian version consistently
- if the commit is not on a git tag, append ci version
- avoid double zipping
- cleanup binary builds
- replace `make release` with `make binaries`
- add missing files to archives
- use matrix build for deb packages
- allow building release version
- keep directory inside zip archives
- accept releases only on master
  only tags on master will trigger a release
- cleanup namings
- keep path in zip
- add retention period for pipeline artifacts
2024-09-24 10:14:39 +02:00
iofq
056df39a3c move release script to Makefile 2024-09-24 10:14:39 +02:00
iofq
5e86a0b9e6 use multiarch CI build for release 2024-09-24 10:14:39 +02:00
André Roth
ba2c86361d remove debug 2024-09-24 10:14:39 +02:00
André Roth
582201ab7c build for Debian trixie (testing) 2024-09-24 10:14:39 +02:00
André Roth
88f4101866 update or downgrade go modules to match debian versions
- use go 1.22 (as available also in bookworm-backports)
- do not install go mods in docker
2024-09-24 10:14:39 +02:00
André Roth
373a157163 release for ubu24.04 2024-09-24 10:14:39 +02:00
André Roth
8e8cf90a71 ci: use async aptly publish 2024-09-24 10:14:39 +02:00
André Roth
a22dc9be1b do not hardcode go version 2024-09-24 10:14:39 +02:00
André Roth
2306993b7b ci: improve aptly repo layout
use the new -multi-dist option to combine all distributions into one
publish point:

deb http://repo.aptly.info/ci bookworm main

or:

deb http://repo.aptly.info/release bookworm main

for the following distributions: buster, bullseye, bookworm, focal, jammy
2024-09-24 10:14:39 +02:00
André Roth
c248dc1803 github CI: use dpkg-buildpackage for building debian packages
- use go 1.19
- Makefile: improve unit test output
- cleanup: remove travis
2024-09-24 10:14:39 +02:00
André Roth
53f96c98ad CI: use go 1.22 for merging code code 2024-09-24 10:14:39 +02:00
André Roth
40eb4b4751 docker-lint: use go 1.19 compatible golangci-lint version
- use same user in docker container
- use GOPATH in source dir to prevent downloading all dependencies on each run
- add make clean
2024-08-03 00:14:26 +02:00
André Roth
5718f3f2f5 improve Makefile help 2024-08-03 00:14:26 +02:00
André Roth
640c202ee5 etcd: implement separate system tests
- add t13_etcd test directory
- etcd will be started for the unit tests and each system test
- etcd will load fixture DB export if requested by the test
- existing tests are reused for etcd testing
2024-07-31 22:16:00 +02:00
Ryan Gonzalez
0eccaf2b60 Change Azure endpoint syntax to require a full URL
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>
2024-06-17 11:51:18 +02:00
André Roth
f233a21787 github CI: nightly builds for multiple distributions
Since the pipeline changed to use ucuntu22.04 runners, the nighty debian packages do not work on debian buster anymore.
    This change updates the pipeline to build for Ubuntu 20.04 and 22.04 as well as for
    Debian 10, 11 and 12.

    The distribution specific apt sources are as follows:

      "deb http://repo.aptly.info/nightly-bookworm bookworm main"

    (replace bookworm with focal, buster, bullseye. Install aptly repo key with: curl -fsS https://www.aptly.info/pubkey.txt | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/aptly.gpg)

    The builds on focal will also release to the legacy nightly apt repo: https://github.com/aptly-dev/aptly/actions/runs/8723898496/job/23933824692#step:7:24

    This only affects nightly builds, for now.
    Pipeline example: [](https://github.com/aptly-dev/aptly/actions/runs/8723898496)
2024-04-17 17:48:37 +02:00
André Roth
9deb031c44 fix system tests
- use s3 mirror instead of internet download
- reduce download verbosity
- do not use venv in docker-system-tests
- be more verbose on test output
- do not run golangci-lint in system-tests
2024-04-11 10:15:02 +02:00
André Roth
943e76ae8b golangci-lint: add new github workflow 2024-03-06 08:08:42 +01:00
André Roth
a71186bcc3 gitlab: use ubuntu22.04 runners and gpg2 2024-02-05 13:04:45 +01:00
Mauro Regli
f155ed3ba9 Set Golangci-lint timeout to 5m 2023-09-21 11:25:18 +02:00
Mauro Regli
f4a152ab22 Update CI to only use 1.21 and python 3.11 2023-09-21 11:25:18 +02:00
Markus Muellner
bece12ad4d update golangci-lint to v1.51.2 2023-03-22 17:22:54 +01:00
Markus Muellner
8e62195eb5 implement structured logging 2023-02-20 13:42:50 +01:00
Markus Muellner
352f4e8772 update golangci-lint and replace deprecated calls to io/ioutil 2022-12-12 10:21:39 +01:00
Benj Fassbind
afdc10b919 Fix golangci-lint 2022-08-16 09:04:16 +02:00
Benj Fassbind
515e5532c8 Fix temp dir on ci 2022-07-13 08:33:48 +02:00
Benj Fassbind
1d4e6183be Capture coverage of integration tests
To capture the coverage also for the integration tests,
a test only executing the cmd.Run function is used.

The test always exits with code 0 and prints the
real exit code to stdout. Otherwise no coverage
report is generated.

Those changes enable a more accurate coverage report
for future contributions.
2022-07-13 08:33:48 +02:00
Benj Fassbind
35ad6cacc8 Upload code coverage 2022-06-20 13:23:28 +02:00
Chuan Liu
f9f1c8ee75 Update azurite dir 2022-06-09 10:45:13 +02:00
Chuan Liu
0a1798869a Enable Azure publish unit tests in Github actions 2022-04-29 21:23:41 +02:00
Benj Fassbind
d955b06f03 Fix artifacts publishing 2022-04-13 09:27:50 +02:00
Markus Muellner
6539e1b856 Add metrics endpoint with http metrics using Prometheus client lib 2022-04-12 14:39:16 +02:00
Benj Fassbind
c29ccaadbc Fix typo in ci config 2022-04-05 11:41:14 +02:00
Benj Fassbind
cf98718a79 Fix default branch name in ci 2022-04-05 09:58:02 +02:00
Benj Fassbind
47bda055e0 Publish releases and nightly builds from ci 2022-04-04 20:07:08 +02:00
Ubuntu
5b98039291 Remove 1.14 from CI 2022-04-04 17:51:21 +02:00
Lorenzo Bolla
f89350e6cd Timeout CI build job after 30 minutes
Fix #1032
2022-02-13 21:07:50 +01:00
Benj Fassbind
21029c326b Add release to CI 2022-02-11 08:36:21 +01:00