Add versioning of all object id and some tests #6538
Workflow file for this run
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
name: CI | |
on: | |
push: | |
branches: [main, staging, trying] | |
pull_request: | |
branches: [main, 'testnet_*'] | |
types: | |
- opened | |
- reopened | |
- synchronize | |
- ready_for_review | |
env: | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: full | |
RUSTFLAGS: "--deny warnings" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
# Quick tests on each commit/PR | |
sanity: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: "recursive" | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly-2023-07-01 | |
components: rustfmt | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: "sanity" | |
save-if: ${{ github.ref_name == 'testnet_25' }} | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
check: | |
if: github.ref != 'refs/heads/staging' | |
needs: sanity | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: "recursive" | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly-2023-07-01 | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: "check" | |
save-if: ${{ github.ref_name == 'testnet_25' }} | |
- uses: arduino/setup-protoc@v1 | |
with: | |
version: '3.x' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
clippy: | |
if: github.ref != 'refs/heads/staging' | |
needs: sanity | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: "recursive" | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly-2023-07-01 | |
components: clippy | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: "clippy" | |
save-if: ${{ github.ref_name == 'testnet_25' }} | |
- uses: arduino/setup-protoc@v1 | |
with: | |
version: '3.x' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: -- -A clippy::uninlined-format-args | |
# Full cross-platform tests required by bors to merge on main branch | |
full: | |
name: full | |
needs: sanity | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macOS-latest | |
# - windows-latest | |
steps: | |
- uses: ilammy/setup-nasm@v1 | |
- uses: actions/checkout@v3 | |
with: | |
submodules: "recursive" | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly-2023-07-01 | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: "massa" | |
save-if: ${{ github.ref_name == 'testnet_25' }} | |
- uses: arduino/setup-protoc@v1 | |
with: | |
version: '3.x' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: install | |
args: cargo-nextest | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: nextest | |
args: run --features testing --retries 10 | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --features testing --doc | |
build: # quick hack because bors wrongly detect matrix jobs status | |
needs: full | |
runs-on: ubuntu-latest | |
steps: | |
- run: exit 0 | |
# Maybe launch it only in testnet branches | |
gas-costs-check: | |
if: github.ref != 'refs/heads/staging' && github.ref != 'refs/heads/main' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: "recursive" | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly-2023-07-01 | |
components: rustfmt | |
override: true | |
- uses: actions/checkout@v3 | |
with: | |
repository: massalabs/gas-calibration | |
path: gas-calibration | |
ref: main | |
- uses: actions/checkout@v3 | |
with: | |
repository: massalabs/massa-as-sdk | |
path: massa-as-sdk | |
ref: main | |
# Replace the branch in the dependencies in gas-calibration project by the current branch | |
# Special case for massa-sc-runtime: we use the branch referenced in the Cargo.toml of massa-execution-worker. | |
- name: "Use the current branch as dependency for gas-calibration" | |
run: > | |
cd gas-calibration && | |
sed -i 's!main!${{ github.head_ref || github.ref_name }}!g' Cargo.toml && | |
sed -i 's!massa-sc-runtime = { git = "https://github.com/massalabs/massa-sc-runtime", features = \["gas_calibration"\] }!'"$(cat ../massa-execution-worker/Cargo.toml | grep 'massalabs/massa-sc-runtime' | sed 's!/!\\/!g' | sed 's!}!, features = ["gas_calibration"]}!g' )"'!g' Cargo.toml | |
#- name: "Launch gas-calibration with one SC per ABI in massa-as-sdk to see if there is an ABI missing" | |
# run: > | |
# cd gas-calibration && | |
# cargo run -r -- --nb-scs-by-abi=1 --as-sdk-env-path=../massa-as-sdk/assembly/env/env.ts --only-generate | |
doc: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: "recursive" | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly-2023-07-01 | |
components: rustfmt | |
override: true | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: "doc" | |
save-if: ${{ github.ref_name == 'testnet_25' }} | |
- uses: arduino/setup-protoc@v1 | |
with: | |
version: '3.x' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: doc | |
args: --no-deps --document-private-items | |
- uses: JamesIves/[email protected] | |
with: | |
branch: gh-pages | |
folder: target/doc | |
unit_tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: "recursive" | |
- name: setup_tests | |
shell: bash | |
run: | | |
cargo install cargo-script && cargo script tools/setup_test.rs && git diff --no-ext-diff --quiet |