From 58a0ed2a4f1a4ee2a11562b11c5d26eeadcea9e0 Mon Sep 17 00:00:00 2001 From: Roy Ivy III Date: Wed, 15 Apr 2020 00:04:28 -0500 Subject: [PATCH 1/6] maint/CICD ~ show `cargo tree` tool version information during CICD --- .github/workflows/CICD.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index 737a838f960..1df2fbaaecb 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -104,6 +104,7 @@ jobs: rustup show active-toolchain cargo -V rustc -V + cargo tree -V ## dependencies echo "## dependency list" cargo +stable fetch --quiet @@ -265,6 +266,7 @@ jobs: rustup show active-toolchain cargo -V rustc -V + cargo tree -V ## dependencies echo "## dependency list" cargo fetch --quiet From 0d355d1073766be0477885f4cda06ad1d6f150ad Mon Sep 17 00:00:00 2001 From: Roy Ivy III Date: Wed, 15 Apr 2020 00:11:25 -0500 Subject: [PATCH 2/6] maint/CICD ~ enable testing for beta-x86_64-pc-windows-gnu to GHA:CICD --- .github/workflows/CICD.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index 1df2fbaaecb..2a9753039d5 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -133,7 +133,7 @@ jobs: - { os: windows-latest , target: i686-pc-windows-gnu , features: feat_os_windows } - { os: windows-latest , target: i686-pc-windows-msvc , features: feat_os_windows } - { os: windows-latest , target: x86_64-pc-windows-gnu , features: feat_os_windows , toolchain: nightly-x86_64-pc-windows-gnu } ## !maint: [rivy; due 2020-21-03] disable/remove when rust beta >= v1.43.0 is available (~mid-March) - # - { os: windows-latest , target: x86_64-pc-windows-gnu , features: feat_os_windows , toolchain: beta-x86_64-pc-windows-gnu } ## maint: [rivy; due 2020-21-03; due 2020-01-05] enable when rust beta >= v1.43.0 is available (~mid-March); disable when rust stable >= 1.43.0 is available (~early-May) + - { os: windows-latest , target: x86_64-pc-windows-gnu , features: feat_os_windows , toolchain: beta-x86_64-pc-windows-gnu } ## maint: [rivy; due 2020-21-03; due 2020-01-05] enable when rust beta >= v1.43.0 is available (~mid-March); disable when rust stable >= 1.43.0 is available (~early-May) # - { os: windows-latest , target: x86_64-pc-windows-gnu , features: feat_os_windows } ## note: requires rust >= 1.43.0 to link correctly # ! maint: [rivy; due 2020-01-05] enable when rust stable >= 1.43.0 is available - { os: windows-latest , target: x86_64-pc-windows-msvc , features: feat_os_windows } steps: From 4813e97a7144fc919475db441a373ea82f3f4aeb Mon Sep 17 00:00:00 2001 From: Roy Ivy III Date: Wed, 15 Apr 2020 00:34:40 -0500 Subject: [PATCH 3/6] maint/CICD ~ add work-around for absorption of `cargo tree` into `cargo` - see [GH:rust-lang/cargo#8062](https://github.com/rust-lang/cargo/pull/8062) for more information --- .github/workflows/CICD.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index 2a9753039d5..27560ff2b05 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -104,11 +104,12 @@ jobs: rustup show active-toolchain cargo -V rustc -V - cargo tree -V + cargo-tree tree -V ## dependencies echo "## dependency list" - cargo +stable fetch --quiet - cargo +stable tree --all --no-dev-dependencies --no-indent --features ${{ matrix.job.features }} | grep -vE "$PWD" | sort --unique + ## * using the 'stable' toolchain is necessary to avoid "unexpected '--filter-platform'" errors + RUSTUP_TOOLCHAIN=stable cargo fetch --quiet + RUSTUP_TOOLCHAIN=stable cargo-tree tree --all --no-dev-dependencies --no-indent --features ${{ matrix.job.features }} | grep -vE "$PWD" | sort --unique - name: Test uses: actions-rs/cargo@v1 with: @@ -266,11 +267,11 @@ jobs: rustup show active-toolchain cargo -V rustc -V - cargo tree -V + cargo-tree tree -V ## dependencies echo "## dependency list" cargo fetch --quiet - cargo tree --target=${{ matrix.job.target }} ${{ matrix.job.cargo-options }} ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} --all --no-dev-dependencies --no-indent | grep -vE "$PWD" | sort --unique + cargo-tree tree --target=${{ matrix.job.target }} ${{ matrix.job.cargo-options }} ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} --all --no-dev-dependencies --no-indent | grep -vE "$PWD" | sort --unique - name: Build uses: actions-rs/cargo@v1 with: From 7203f265760858cf27cc46c4a737ca98ee0fa214 Mon Sep 17 00:00:00 2001 From: Roy Ivy III Date: Tue, 14 Apr 2020 22:34:34 -0500 Subject: [PATCH 4/6] maint/CICD ~ reconfigure CodeCov to be solely informational --- .codecov.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.codecov.yml b/.codecov.yml index 69cb76019a4..502b3035a5c 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -1 +1,7 @@ comment: false + +coverage: + status: + project: + default: + informational: true From ce632900e553898a5d90da3da1db45b1cbdd3078 Mon Sep 17 00:00:00 2001 From: Roy Ivy III Date: Wed, 15 Apr 2020 10:45:23 -0500 Subject: [PATCH 5/6] maint/CICD ~ speedup CICD by decreasing redundant AppVeyor CI workload - 13 minutes to CI success/failure response from AppVeyor (approx median time); down from 45 minutes .# [why] Most of the testing done on AppVeyor is redundant with that done in the GHA:CICD. With prior settings, AppVeyor was taking about 40 minutes to an hour (median ~ 45 minutes) to report success/failure. In contrast, the GHA:CICD workflow usually completes in about 13 minutes (median). AppVeyor job times are approximately 5 to 8 minutes per build and are done sequentially with no report until all build jobs are complete (whether "allow failure" or not). --- .appveyor.yml | 52 +++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 440a47f39d6..b800cb944a6 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -29,34 +29,34 @@ environment: - CHANNEL: 1.31.0 ARCH: i686 ABI: msvc - # "msvc" ABI - - CHANNEL: stable - ARCH: i686 - ABI: msvc - - CHANNEL: stable - ARCH: x86_64 - ABI: msvc + # # "msvc" ABI + # - CHANNEL: stable + # ARCH: i686 + # ABI: msvc + # - CHANNEL: stable + # ARCH: x86_64 + # ABI: msvc # - CHANNEL: beta # ARCH: i686 # ABI: msvc # - CHANNEL: beta # ARCH: x86_64 # ABI: msvc - - CHANNEL: nightly - ARCH: i686 - ABI: msvc - FEATURES: "windows nightly" - - CHANNEL: nightly - ARCH: x86_64 - ABI: msvc - FEATURES: "windows nightly" + # - CHANNEL: nightly + # ARCH: i686 + # ABI: msvc + # FEATURES: "windows nightly" + # - CHANNEL: nightly + # ARCH: x86_64 + # ABI: msvc + # FEATURES: "windows nightly" # "gnu" ABI - - CHANNEL: stable - ARCH: i686 - ABI: gnu - - CHANNEL: stable - ARCH: x86_64 - ABI: gnu + # - CHANNEL: stable + # ARCH: i686 + # ABI: gnu + # - CHANNEL: stable + # ARCH: x86_64 + # ABI: gnu # - CHANNEL: beta # ARCH: i686 # ABI: gnu @@ -71,11 +71,11 @@ environment: # ABI: gnu # FEATURES: "windows nightly" # * specific gnu compilers - - CHANNEL: stable - ARCH: i686 - ABI: gnu - MINGW_URL: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.2/threads-win32/dwarf/i686-4.9.2-release-win32-dwarf-rt_v4-rev4.7z/download - MINGW_ARCHIVE: i686-4.9.2-release-win32-dwarf-rt_v4-rev4.7z + # - CHANNEL: stable + # ARCH: i686 + # ABI: gnu + # MINGW_URL: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.2/threads-win32/dwarf/i686-4.9.2-release-win32-dwarf-rt_v4-rev4.7z/download + # MINGW_ARCHIVE: i686-4.9.2-release-win32-dwarf-rt_v4-rev4.7z - CHANNEL: stable ARCH: x86_64 ABI: gnu From 356fe85a3fa4401f554db1743ce22c529e34c2a1 Mon Sep 17 00:00:00 2001 From: Roy Ivy III Date: Wed, 15 Apr 2020 10:45:35 -0500 Subject: [PATCH 6/6] maint/CICD ~ speedup CICD by decreasing redundant Travis CI workload - 10 minutes to CI success/failure response from Travis CI (approx median time); down from 60 minutes .# [why] Most of the testing done on Travis CI is redundant with that done in the GHA:CICD. With prior settings, Travis CI was taking about an hour (median) to report success/failure. In contrast, the GHA:CICD workflow usually completes in about 13 minutes (median). Travis CI job times are highly variable taking between 3 and 20 minutes per build. Builds are run with some parallelism, and a report is submitted as soon as the non-"allow failure" jobs are completed. --- .travis.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0aad7574b53..7858272ccc1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ rust: os: - linux - - osx + # - osx env: # sphinx v1.8.0 is bugged & fails for linux builds; so, force specfic `sphinx` version @@ -20,18 +20,18 @@ matrix: include: - rust: 1.31.0 env: FEATURES=unix - - rust: stable - os: linux - env: FEATURES=unix TEST_INSTALL=true - - rust: stable - os: osx - env: FEATURES=macos TEST_INSTALL=true + # - rust: stable + # os: linux + # env: FEATURES=unix TEST_INSTALL=true + # - rust: stable + # os: osx + # env: FEATURES=macos TEST_INSTALL=true - rust: nightly os: linux - env: FEATURES=nightly,unix + env: FEATURES=nightly,unix TEST_INSTALL=true - rust: nightly os: osx - env: FEATURES=nightly,macos + env: FEATURES=nightly,macos TEST_INSTALL=true - rust: nightly os: linux env: FEATURES=nightly,feat_os_unix_redox CC=x86_64-unknown-redox-gcc CARGO_ARGS='--no-default-features --target=x86_64-unknown-redox' REDOX=1