Add nightly CI check against latest substrate. (#335)

* Add nightly check and use specific version (currently the same) in PR checks

* wrong var name, whoops

* Create GH issue if nightly run fails

* need tokio feature for RpcClient; match dependency in root Cargo.toml.

* Ensure substrate command is properly cleaned up in the event of a panic, to prevent blocking

* increase retry limit again

* fmt

* Tweak text for nightly-run-failed issue template

* Run nightly-CI every 5mins for testing

* I clearly dont use cron enough

* Put back cron timings to 8am daily

* break a test

* revert nightly workflow again (doesnt run off master) and testing rust workflow

* more testing..

* undo testing things; seems to work

* tidy up; substrate url at top of both CI files
This commit is contained in:
James Wilson
2021-11-30 15:01:25 +00:00
committed by GitHub
parent 4b9ee133ac
commit 4ca50ef844
5 changed files with 104 additions and 10 deletions
+58
View File
@@ -0,0 +1,58 @@
name: Daily compatibility check against latest substrate
on:
schedule:
# Run at 8am every day
- cron: "* 8 * * *"
env:
CARGO_TERM_COLOR: always
# Use latest substrate for nightly runs:
SUBSTRATE_URL: https://releases.parity.io/substrate/x86_64-debian:stretch/latest/substrate/substrate
jobs:
tests:
name: Cargo test
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Download Substrate
run: |
curl $SUBSTRATE_URL --output substrate --location
chmod +x substrate
mkdir -p ~/.local/bin
mv substrate ~/.local/bin
- name: Install Rust stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Rust Cache
uses: Swatinem/rust-cache@v1.3.0
- name: Cargo test
uses: actions-rs/cargo@v1.0.3
with:
command: test
args: --all-targets --workspace
# If the previous step fails, create a new Github issue
# to nofity us about it.
- if: ${{ failure() }}
uses: JasonEtco/create-an-issue@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
# Use this issue template:
filename: .github/issue_templates/nightly_run_failed.md
# Don't create a new issue; skip updating existing:
update_existing: false
# Look for new *open* issues in this search (we want to
# create a new one if we only find closed versions):
search_existing: open
+7 -5
View File
@@ -14,6 +14,8 @@ on:
env:
CARGO_TERM_COLOR: always
# TODO: Currently pointing at latest substrate; is there a suitable binary we can pin to here?
SUBSTRATE_URL: https://releases.parity.io/substrate/x86_64-debian:stretch/latest/substrate/substrate
jobs:
build:
@@ -25,7 +27,7 @@ jobs:
- name: Download Substrate
run: |
curl "https://releases.parity.io/substrate/x86_64-debian:stretch/latest/substrate/substrate" --output substrate --location
curl $SUBSTRATE_URL --output substrate --location
chmod +x substrate
mkdir -p ~/.local/bin
mv substrate ~/.local/bin
@@ -79,7 +81,7 @@ jobs:
- name: Download Substrate
run: |
curl "https://releases.parity.io/substrate/x86_64-debian:stretch/latest/substrate/substrate" --output substrate --location
curl $SUBSTRATE_URL --output substrate --location
chmod +x substrate
mkdir -p ~/.local/bin
mv substrate ~/.local/bin
@@ -95,7 +97,7 @@ jobs:
uses: Swatinem/rust-cache@v1.3.0
- name: Check internal documentation links
run: RUSTDOCFLAGS="--deny broken_intra_doc_links" cargo doc --verbose --workspace --no-deps --document-private-items
run: RUSTDOCFLAGS="--deny rustdoc::broken_intra_doc_links" cargo doc -vv --workspace --no-deps --document-private-items
tests:
name: Cargo test
@@ -106,7 +108,7 @@ jobs:
- name: Download Substrate
run: |
curl "https://releases.parity.io/substrate/x86_64-debian:stretch/latest/substrate/substrate" --output substrate --location
curl $SUBSTRATE_URL --output substrate --location
chmod +x substrate
mkdir -p ~/.local/bin
mv substrate ~/.local/bin
@@ -136,7 +138,7 @@ jobs:
- name: Download Substrate
run: |
curl "https://releases.parity.io/substrate/x86_64-debian:stretch/latest/substrate/substrate" --output substrate --location
curl $SUBSTRATE_URL --output substrate --location
chmod +x substrate
mkdir -p ~/.local/bin
mv substrate ~/.local/bin