Organize source README (#205) #645
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: | |
- master | |
pull_request: | |
release: | |
types: [published] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
env: | |
CARGO_TERM_COLOR: always | |
REGISTRY: ghcr.io | |
RUST_VERSION: 1.71.1 | |
FORC_VERSION: 0.47.0 | |
CORE_VERSION: 0.20.8 | |
PATH_TO_SCRIPTS: .github/scripts | |
jobs: | |
build-sway-lib: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Install Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ env.RUST_VERSION }} | |
override: true | |
- name: Init cache | |
uses: Swatinem/rust-cache@v1 | |
- name: Install a modern linker (mold) | |
uses: rui314/setup-mold@v1 | |
- name: Force Rust to use mold globally for compilation | |
run: | | |
touch ~/.cargo/config.toml | |
echo "[target.x86_64-unknown-linux-gnu]" > ~/.cargo/config.toml | |
echo 'linker = "clang"' >> ~/.cargo/config.toml | |
echo 'rustflags = ["-C", "link-arg=-fuse-ld=/usr/local/bin/mold"]' >> ~/.cargo/config.toml | |
- name: Install rustfmt | |
run: rustup component add rustfmt | |
- name: Install Fuel toolchain | |
uses: FuelLabs/[email protected] | |
with: | |
name: my-toolchain | |
components: forc@${{ env.FORC_VERSION }}, fuel-core@${{ env.CORE_VERSION }} | |
- name: Check Sway formatting | |
run: forc fmt --path libs --check | |
- name: Check Rust formatting | |
run: cargo fmt --manifest-path tests/Cargo.toml --verbose --check | |
- name: Build All Libs | |
run: forc build --path libs | |
- name: Build All Tests | |
run: forc build --path tests | |
- name: Cargo Test sway-lib | |
run: | | |
cargo test --manifest-path tests/Cargo.toml | |
forc-inline-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Install Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ env.RUST_VERSION }} | |
override: true | |
- name: Init cache | |
uses: Swatinem/rust-cache@v1 | |
- name: Install Fuel toolchain | |
uses: FuelLabs/[email protected] | |
with: | |
name: my-toolchain | |
components: forc@${{ env.FORC_VERSION }}, fuel-core@${{ env.CORE_VERSION }} | |
- name: Run Libs Tests | |
run: forc build --path libs && forc test --path libs | |
- name: Run Tests Tests | |
run: forc build --path tests && forc test --path tests | |
contributing-book: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
project: [".docs/contributing-book/src/code"] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Install Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ env.RUST_VERSION }} | |
override: true | |
- name: Init cache | |
uses: Swatinem/rust-cache@v1 | |
- name: Install rustfmt | |
run: rustup component add rustfmt | |
- name: Install Fuel toolchain | |
uses: FuelLabs/[email protected] | |
with: | |
name: my-toolchain | |
components: forc@${{ env.FORC_VERSION }}, fuel-core@${{ env.CORE_VERSION }} | |
- name: Check Sway formatting | |
run: forc fmt --path ${{ matrix.project }} --check | |
- name: Build Sway | |
run: forc build --path ${{ matrix.project }} |