Skip to content

Commit

Permalink
Merge pull request #2076 from mulkieran/develop-2.0.1-rc
Browse files Browse the repository at this point in the history
Develop 2.0.1 rc
  • Loading branch information
mulkieran committed Jun 3, 2020
2 parents 8741825 + 635271d commit 4d99236
Show file tree
Hide file tree
Showing 144 changed files with 9,939 additions and 2,959 deletions.
252 changes: 163 additions & 89 deletions .travis.yml
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
Loading

0 comments on commit 4d99236

Please sign in to comment.