Skip to content

Rewrite Task of listening Stellar Messages #496

Rewrite Task of listening Stellar Messages

Rewrite Task of listening Stellar Messages #496

Workflow file for this run

on:
pull_request:
branches:
- '**' # every branch
- '!main' # excluding main
name: continuous-integration-dev
jobs:
ci:
strategy:
max-parallel: 1
matrix:
os: [ ubuntu-latest, macos-latest ]
rust: [ stable, nightly ]
include:
- os: ubuntu-latest
sccache-path: /home/runner/.cache/sccache
- os: macos-latest
sccache-path: /Users/runner/Library/Caches/Mozilla.sccache
runs-on: ${{ matrix.os }}
env:
RUST_BACKTRACE: full
RUSTC_WRAPPER: sccache
SCCACHE_CACHE_SIZE: 2G
SCCACHE_DIR: ${{ matrix.sccache-path }}
steps:
- name: Freeing up more disk space
run: |
sudo rm -rf /usr/local/lib/android # will release about 10 GB if you don't need Android
sudo rm -rf /usr/share/dotnet # will release about 20GB if you don't need .NET
sudo rm -rf /opt/ghc
sudo rm -rf /usr/local/share/boost
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
- uses: actions/checkout@v2
- name: Install sccache (ubuntu-latest)
if: matrix.os == 'ubuntu-latest'
env:
LINK: https://github.com/mozilla/sccache/releases/download
SCCACHE_VERSION: 0.2.13
run: |
SCCACHE_FILE=sccache-$SCCACHE_VERSION-x86_64-unknown-linux-musl
mkdir -p $HOME/.local/bin
curl -L "$LINK/$SCCACHE_VERSION/$SCCACHE_FILE.tar.gz" | tar xz
mv -f $SCCACHE_FILE/sccache $HOME/.local/bin/sccache
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Install sccache (macos-latest)
if: matrix.os == 'macos-latest'
run: |
brew update
brew install sccache
- name: Setup Rust toolchain
if: matrix.rust == 'stable'
# Call `rustup show` as a hack so that the toolchain defined in rust-toolchain.toml is installed
run: rustup show
- name: Remove rust-toolchain.toml for nightly
if: matrix.rust == 'nightly'
# To make sure that the nightly version will be used all throughout
run: |
rm /home/runner/work/spacewalk/spacewalk/rust-toolchain.toml
- name: Setup nightly Rust toolchain
if: matrix.rust == 'nightly'
uses: dtolnay/rust-toolchain@nightly
with:
toolchain: nightly-2024-02-09
components: rustfmt, clippy
target: wasm32-unknown-unknown
- name: Setup nightly Rust as default
if: matrix.rust == 'nightly'
run: rustup default nightly-2024-02-09
- name: Use Cache
uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
key: "${{ matrix.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}"
shared-key: "shared"
- name: Save sccache
uses: pat-s/always-upload-cache@v3
continue-on-error: true
with:
path: "${{ matrix.sccache-path }}"
key: "${{ matrix.os }}-sccache-${{ hashFiles('**/Cargo.lock') }}"
restore-keys: "${{ matrix.os }}-sccache-"
- name: Start sccache server
run: sccache --start-server
- name: Install Protoc
uses: arduino/setup-protoc@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Check Build
if: matrix.rust == 'stable'
run: |
bash ./scripts/cmd-all build check
- name: Test
if: matrix.rust == 'nightly'
uses: actions-rs/cargo@v1
env:
SOURCE_STELLAR_SECRET_MAINNET: ${{ secrets.SOURCE_STELLAR_SECRET_MAINNET }}
SOURCE_STELLAR_SECRET_TESTNET: ${{ secrets.SOURCE_STELLAR_SECRET_TESTNET }}
DEST_STELLAR_SECRET_MAINNET: ${{ secrets.DEST_STELLAR_SECRET_MAINNET }}
DEST_STELLAR_SECRET_TESTNET: ${{ secrets.DEST_STELLAR_SECRET_TESTNET }}
with:
toolchain: nightly-2024-02-09
command: test
args: --all --all-features
- name: Rustfmt
if: matrix.rust == 'nightly'
uses: actions-rs/cargo@v1
with:
toolchain: nightly-2024-02-09
command: fmt
args: --all -- --check
- name: Print sccache stats
run: sccache --show-stats
- name: Stop sccache server
run: sccache --stop-server || true