mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-06-15 07:00:52 +00:00
New upstream version 1.5.0+ds1
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
# 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: ${{ matrix.allow_failure }}
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
go: [1.16, 1.17, 1.18]
|
||||
run_long_tests: [no]
|
||||
allow_failure: [false]
|
||||
include:
|
||||
# Disable this for now as it's not clear how to select the latest master branch
|
||||
# version of go using actions/setup-go@v2.
|
||||
# - go: master
|
||||
# run_long_tests: no
|
||||
# allow_failure: true
|
||||
- go: 1.17
|
||||
run_long_tests: yes
|
||||
allow_failure: false
|
||||
|
||||
env:
|
||||
NO_FTP_ACCESS: yes
|
||||
BOTO_CONFIG: /dev/null
|
||||
GO111MODULE: "on"
|
||||
GOPROXY: "https://proxy.golang.org"
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ${{ matrix.go }}
|
||||
|
||||
- name: golangci-lint
|
||||
uses: golangci/golangci-lint-action@v2
|
||||
with:
|
||||
version: v1.45.0
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.9
|
||||
|
||||
- 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: Get aptly version
|
||||
run: |
|
||||
make version
|
||||
|
||||
- name: Make
|
||||
env:
|
||||
RUN_LONG_TESTS: ${{ matrix.run_long_tests }}
|
||||
AZURE_STORAGE_ENDPOINT: "127.0.0.1:10000"
|
||||
AZURE_STORAGE_ACCOUNT: "devstoreaccount1"
|
||||
AZURE_STORAGE_ACCESS_KEY: "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="
|
||||
run: |
|
||||
make
|
||||
|
||||
- name: Upload code coverage
|
||||
if: matrix.run_long_tests
|
||||
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@v2
|
||||
|
||||
- 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/*
|
||||
Reference in New Issue
Block a user