-
Notifications
You must be signed in to change notification settings - Fork 55
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2076 from mulkieran/develop-2.0.1-rc
Develop 2.0.1 rc
- Loading branch information
Showing
144 changed files
with
9,939 additions
and
2,959 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,109 +1,183 @@ | ||
--- | ||
os: linux | ||
group: edge | ||
# use most recent available distro to support installation of crypsetup 2.2.0 | ||
# or above with as little fuss as possible. | ||
dist: bionic | ||
|
||
addons: | ||
apt: | ||
packages: | ||
- libdbus-1-dev | ||
- libudev-dev | ||
- libdbus-glib-1-dev | ||
apt: | ||
packages: | ||
- libdbus-1-dev | ||
- libudev-dev | ||
- libdbus-glib-1-dev | ||
|
||
language: rust | ||
|
||
matrix: | ||
fast_finish: true | ||
allow_failures: | ||
# Allow audit task to fail | ||
- env: TASK=audit | ||
include: | ||
# Use a package which supplies cryptsetup 2.3.0 which is required | ||
# by features added in libcryptsetup-rs that are used in stratisd. | ||
before_install: | ||
- > | ||
sudo | ||
add-apt-repository | ||
-y | ||
"deb http://us.archive.ubuntu.com/ubuntu/ eoan main" | ||
- sudo apt-get -q update | ||
# Update to a more recent version of blkid | ||
- sudo apt-get -y install util-linux libblkid-dev | ||
# cryptsetup-bin conflicts with custom built cryptsetup | ||
- sudo apt-get remove cryptsetup-bin | ||
- sudo apt-get install -y libargon2-0 libjson-c3 | ||
- > | ||
wget | ||
"https://github.com/jbaublitz/stratisd/raw/deb/cryptsetup_2.3.0-1_amd64.deb" | ||
- sudo dpkg -i ./cryptsetup_2.3.0-1_amd64.deb | ||
# Linking fails if libcryptsetup 2.2 is present - must force | ||
# remove due to system dependencies | ||
- sudo dpkg --purge --force-all libcryptsetup12 | ||
|
||
# MANDATORY CHECKS USING CURRENT DEVELOPMENT COMPILER | ||
- name: "format Rust source using current development toolchain" | ||
rust: 1.40.0 | ||
before_script: | ||
- rustup component add rustfmt | ||
env: TASK=fmt-travis | ||
- name: "lint Rust source using current development toolchain" | ||
rust: 1.40.0 | ||
before_script: | ||
- rustup component add clippy | ||
env: TASK=clippy | ||
jobs: | ||
fast_finish: true | ||
allow_failures: | ||
# Allow audit task to fail | ||
- env: TASK=audit | ||
include: | ||
|
||
# MANDATORY TESTING USING LOWEST SUPPORTED COMPILER | ||
- name: "run Rust unit tests on lowest supported toolchain" | ||
rust: 1.39.0 | ||
env: TASK=test | ||
- name: "build release on lowest supported toolchain" | ||
rust: 1.39.0 | ||
env: TASK=release | ||
# MANDATORY CHECKS USING CURRENT DEVELOPMENT COMPILER | ||
- name: "format Rust source using current development toolchain" | ||
rust: 1.43.0 | ||
before_script: | ||
- rustup component add rustfmt | ||
env: TASK=fmt-travis | ||
- name: "lint Rust source using current development toolchain" | ||
rust: 1.43.0 | ||
before_script: | ||
- rustup component add clippy | ||
env: TASK=clippy | ||
|
||
# MANDATORY TESTING ON STABLE | ||
- name: "build using stable toolchain" | ||
rust: stable | ||
env: TASK=build | ||
- name: "build without defaults using stable toolchain" | ||
rust: stable | ||
env: TASK=build-no-default | ||
- name: "build Rust docs using stable toolchain" | ||
rust: stable | ||
env: TASK=docs-travis | ||
- name: "run Rust unit tests using stable toolchain" | ||
rust: stable | ||
env: TASK=test | ||
- name: "run Rust destructive unit tests using stable toolchain" | ||
rust: stable | ||
script: | ||
- > | ||
sudo | ||
PATH=${TRAVIS_HOME}/.cargo/bin:$PATH RUST_LOG=libstratis=info | ||
make | ||
-f | ||
Makefile | ||
test-travis | ||
- name: "build release using stable toolchain" | ||
rust: stable | ||
env: TASK=release | ||
|
||
# MANDATORY TESTING ON STABLE | ||
- name: "build using stable toolchain" | ||
rust: stable | ||
env: TASK=build | ||
- name: "build without defaults using stable toolchain" | ||
rust: stable | ||
env: TASK=build-no-default | ||
- name: "build Rust source and tests on a 32-bit system using stable toolchain" | ||
rust: stable | ||
env: TASK=build-tests TARGET=i686-unknown-linux-gnu PKG_CONFIG_ALLOW_CROSS=1 PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig/ | ||
install: | ||
- rustup target add $TARGET | ||
- sudo dpkg --add-architecture i386 | ||
- sudo apt-get update | ||
- sudo apt-get install -y gcc-multilib libdbus-1-dev:i386 libdbus-glib-1-dev:i386 libglib2.0-dev:i386 libudev-dev:i386 | ||
- name: "build Rust docs using stable toolchain" | ||
rust: stable | ||
env: TASK=docs-travis | ||
- name: "run Rust unit tests using stable toolchain" | ||
rust: stable | ||
env: TASK=test | ||
- name: "run Rust destructive unit tests using stable toolchain" | ||
rust: stable | ||
sudo: required | ||
script: sudo PATH=${TRAVIS_HOME}/.cargo/bin:$PATH make -f Makefile test-travis | ||
- name: "build release using stable toolchain" | ||
rust: stable | ||
env: TASK=release | ||
|
||
# MANDATORY PYTHON CHECKS ON RECOMMENDED DEVELOPMENT INTERPRETER | ||
- name: "lint Python code on recommended development interpreter" | ||
language: python | ||
python: "3.7.6" | ||
install: | ||
- > | ||
pip | ||
install | ||
pylint==2.3.1 | ||
dbus-client-gen==0.4 | ||
dbus-python-client-gen==0.7 | ||
psutil==5.4.3 | ||
pyudev==0.22.0 | ||
script: | ||
- > | ||
(cd scripts; make -f Makefile lint); | ||
(cd tests/client-dbus; PYTHONPATH=./src make -f Makefile lint) | ||
- name: "format Python code on recommended development interpreter" | ||
language: python | ||
python: "3.7.6" | ||
install: pip install black==19.3b0 isort==4.3.4 | ||
script: | ||
- > | ||
(cd scripts; make fmt-travis); | ||
(cd tests/client-dbus; make fmt-travis) | ||
# MANDATORY PYTHON CHECKS ON RECOMMENDED DEVELOPMENT INTERPRETER | ||
- name: "lint Python test code on recommended development interpreter" | ||
language: python | ||
python: "3.7.6" | ||
install: pip install pylint==2.3.1 dbus-client-gen==0.4 dbus-python-client-gen==0.7 psutil==5.4.3 pyudev==0.21.0 | ||
before_script: | ||
- cd tests/client-dbus | ||
script: PYTHONPATH=./src make -f Makefile lint | ||
- name: "format Python test code on recommended development interpreter" | ||
language: python | ||
python: "3.7.6" | ||
install: pip install black==19.3b0 isort==4.3.4 | ||
before_script: | ||
- cd tests/client-dbus | ||
env: TASK=fmt-travis | ||
# MANDATORY PYTHON CHECKS ON FUTURE SUPPORTED INTERPRETER | ||
- name: "lint Python code on future supported interpreter" | ||
language: python | ||
python: "3.7.7" | ||
install: | ||
- > | ||
pip | ||
install | ||
pylint==2.4.4 | ||
dbus-client-gen==0.4 | ||
dbus-python-client-gen==0.7 | ||
psutil==5.6.7 | ||
pyudev==0.22.0 | ||
script: | ||
- > | ||
(cd scripts; make -f Makefile lint); | ||
(cd tests/client-dbus; PYTHONPATH=./src make -f Makefile lint) | ||
- name: "format Python code on future development interpreter" | ||
language: python | ||
python: "3.7.7" | ||
install: pip install black==19.10b0 isort==4.3.21 | ||
script: | ||
- > | ||
(cd scripts; make fmt-travis); | ||
(cd tests/client-dbus; make fmt-travis) | ||
# MANDATORY PYTHON CHECKS ON LOWEST SUPPORTED INTERPRETER | ||
- name: "lint Python code on lowest supported interpreter" | ||
language: python | ||
python: "3.6.8" | ||
install: | ||
- > | ||
pip | ||
install | ||
pylint==2.3.1 | ||
dbus-client-gen==0.4 | ||
dbus-python-client-gen==0.7 | ||
psutil==5.4.3 | ||
pyudev==0.22.0 | ||
script: | ||
- > | ||
(cd scripts; make -f Makefile lint); | ||
(cd tests/client-dbus; PYTHONPATH=./src make -f Makefile lint) | ||
# INTERMITTENTLY ALLOWED FAILURES | ||
# Allowed if a failure occurs after a new Rust release until the | ||
# failure is addressed. | ||
- name: "lint Rust source using beta toolchain" | ||
rust: beta | ||
before_script: | ||
- rustup component add clippy | ||
env: TASK=clippy | ||
# VERIFICATION OF TEST INFRASTRUCTURE | ||
- name: "run yamllint 1.20.0 on .travis.yml" | ||
language: python | ||
python: "3.7.6" | ||
install: pip install yamllint==1.20.0 | ||
env: TASK=yamllint | ||
|
||
# INTERMITTENTLY ALLOWED FAILURES | ||
# Allowed if a failure occurs after a new Rust release until the | ||
# failure is addressed. | ||
- name: "lint Rust source using beta toolchain" | ||
rust: beta | ||
before_script: | ||
- rustup component add clippy | ||
env: TASK=clippy | ||
|
||
# ALLOWED FAILURES | ||
# Run audit on Rust stable. Make it an allowed failure, because: | ||
# * It takes 9 minutes, the longest of any task. | ||
# * It should be an advisory, and should not gate our development. | ||
- name: "run Rust audit task using stable toolchain" | ||
rust: stable | ||
env: TASK=audit | ||
# ALLOWED FAILURES | ||
# Run audit on Rust stable. Make it an allowed failure, because: | ||
# * It takes 9 minutes, the longest of any task. | ||
# * It should be an advisory, and should not gate our development. | ||
- name: "run Rust audit task using stable toolchain" | ||
rust: stable | ||
env: TASK=audit | ||
|
||
branches: | ||
only: master | ||
only: | ||
- master | ||
|
||
script: make -f Makefile $TASK |
Oops, something went wrong.