mirror of
https://github.com/pivpn/pivpn.git
synced 2024-12-20 03:40:17 +00:00
5d0cc9e072
Add support for Ubuntu Jammy (22.04) Add CI tests for Ubuntu Jammy Remove CI tests for Ubuntu Xenial Rename CI tests stages Add new CI Scripts to get pipeline code more "DRY" Update CI Scripts to exit on error with /bin/bash -e Add semantic-release settings Add CI Release step for PiVPN automated versioning
153 lines
No EOL
3.7 KiB
YAML
153 lines
No EOL
3.7 KiB
YAML
language: shell
|
|
|
|
addons:
|
|
hosts:
|
|
- pivpn.test
|
|
|
|
services:
|
|
- docker
|
|
|
|
stages:
|
|
- lint
|
|
- style
|
|
- test
|
|
- release
|
|
|
|
branches:
|
|
only:
|
|
- test
|
|
- master
|
|
|
|
jobs:
|
|
include:
|
|
- stage: lint
|
|
name: "Shellcheck lint"
|
|
dist: jammy
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- shellcheck
|
|
virt: vm
|
|
arch: amd64
|
|
script:
|
|
- shellcheck -x auto_install/install.sh
|
|
- find ciscripts/ -type f -regex '.*\.sh' -exec shellcheck -x {} \;
|
|
- find scripts/ -type f -exec shellcheck -x {} \;
|
|
|
|
- stage: style
|
|
name: "Shell Style Guide"
|
|
dist: jammy
|
|
addons:
|
|
snaps:
|
|
- shfmt
|
|
virt: vm
|
|
arch: amd64
|
|
script:
|
|
- shfmt -d -i 2 -ci -sr -bn auto_install/install.sh
|
|
- find ciscripts/ -type f -regex '.*\.sh' -exec shfmt -d -i 2 -ci -sr -bn {} \;
|
|
- find scripts/ -type f -exec shfmt -d -i 2 -ci -sr -bn {} \;
|
|
|
|
- stage: test
|
|
name: "OpenVPN Bionic (18.04)"
|
|
dist: bionic
|
|
virt: vm
|
|
arch: amd64
|
|
before_script:
|
|
- sudo chmod +x ciscripts/*.sh
|
|
- ./ciscripts/pre_checks.sh
|
|
- ./ciscripts/startup.sh -o
|
|
script:
|
|
- sudo ./auto_install/install.sh --unattended ciscripts/ci_openvpn.conf
|
|
- ./ciscripts/test.sh -o
|
|
after_fail:
|
|
- sudo journalctl -xe
|
|
|
|
- stage: test
|
|
name: "Wireguard Bionic (18.04)"
|
|
dist: bionic
|
|
virt: vm
|
|
arch: amd64
|
|
before_script:
|
|
- sudo chmod +x ciscripts/*.sh
|
|
- ./ciscripts/pre_checks.sh
|
|
- ./ciscripts/startup.sh -w
|
|
script:
|
|
- sudo ./auto_install/install.sh --unattended ciscripts/ci_wireguard.conf
|
|
- ./ciscripts/test.sh -w
|
|
after_fail:
|
|
- sudo journalctl -xe
|
|
|
|
- stage: test
|
|
name: "OpenVPN Focal (20.04)"
|
|
dist: focal
|
|
virt: vm
|
|
arch: amd64
|
|
before_script:
|
|
- sudo chmod +x ciscripts/*.sh
|
|
- ./ciscripts/pre_checks.sh
|
|
- ./ciscripts/startup.sh -o
|
|
script:
|
|
- sudo ./auto_install/install.sh --unattended ciscripts/ci_openvpn.conf
|
|
- ./ciscripts/test.sh -o
|
|
after_fail:
|
|
- sudo journalctl -xe
|
|
|
|
- stage: test
|
|
name: "Wireguard Focal (20.04)"
|
|
dist: focal
|
|
virt: vm
|
|
arch: amd64
|
|
before_script:
|
|
- sudo chmod +x ciscripts/*.sh
|
|
- ./ciscripts/pre_checks.sh
|
|
- ./ciscripts/startup.sh -w
|
|
script:
|
|
- sudo ./auto_install/install.sh --unattended ciscripts/ci_wireguard.conf
|
|
- ./ciscripts/test.sh -w
|
|
after_fail:
|
|
- sudo journalctl -xe
|
|
|
|
- stage: test
|
|
name: "OpenVPN Jammy (22.04)"
|
|
dist: jammy
|
|
virt: vm
|
|
arch: amd64
|
|
before_script:
|
|
- sudo chmod +x ciscripts/*.sh
|
|
- ./ciscripts/pre_checks.sh
|
|
- ./ciscripts/startup.sh -o
|
|
script:
|
|
- sudo ./auto_install/install.sh --unattended ciscripts/ci_openvpn.conf
|
|
- ./ciscripts/test.sh -o
|
|
after_fail:
|
|
- sudo journalctl -xe
|
|
|
|
- stage: test
|
|
name: "Wireguard Jammy (22.04)"
|
|
dist: jammy
|
|
virt: vm
|
|
arch: amd64
|
|
before_script:
|
|
- sudo chmod +x ciscripts/*.sh
|
|
- ./ciscripts/pre_checks.sh
|
|
- ./ciscripts/startup.sh -w
|
|
script:
|
|
- sudo ./auto_install/install.sh --unattended ciscripts/ci_wireguard.conf
|
|
- ./ciscripts/test.sh -w
|
|
after_fail:
|
|
- sudo journalctl -xe
|
|
|
|
- stage: "release"
|
|
name: "release"
|
|
if: type = push
|
|
dist: jammy
|
|
virt: vm
|
|
arch: amd64
|
|
language: node_js
|
|
node_js:
|
|
- "node"
|
|
install:
|
|
- npm install @semantic-release/github -D
|
|
- npm install @semantic-release/changelog -D
|
|
script:
|
|
- npx semantic-release |