Migrate to devnet-rs and sncast #158
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: Checks | |
on: | |
pull_request: | |
branches: "*" | |
jobs: | |
test_and_lint: | |
runs-on: macos-12 | |
env: | |
DEVNET_BUILD_PATH: ${{ github.workspace }}/starknet-devnet-rs/target/release | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Cache/Restore Mint packages | |
id: mint-cache | |
uses: actions/cache@v2 | |
with: | |
path: ${{ github.workspace }}/mint | |
key: ${{ runner.os }}-mint-${{ hashFiles('**/Mintfile') }} | |
restore-keys: ${{ runner.os }}-mint- | |
- name: Check if Mint is installed | |
id: mint-installed | |
run: brew list | grep mint | |
continue-on-error: true | |
- name: Upgrade package manager "Mint" | |
if: steps.mint-installed.outcome == 'success' | |
run: | | |
brew upgrade mint | |
- name: Install package manager "Mint" | |
if: steps.mint-installed.outcome != 'success' | |
run: | | |
brew install mint | |
- name: Install command line tool (if not yet cached) | |
if: steps.mint-cache.outputs.cache-hit != 'true' | |
run: mint bootstrap | |
- name: Run SwiftFormat lint | |
run: mint run swiftformat --lint . | |
# TODO: Replace with installing release when release is available | |
- name: Clone starknet-devnet-rs | |
run: | | |
git clone https://github.com/0xSpaceShard/starknet-devnet-rs.git starknet-devnet-rs | |
pushd ${{ github.workspace }}/starknet-devnet-rs | |
git checkout 7586b55d221e9010809a6e61b7e28e53fc9ff5c2 | |
popd | |
- name: Cache devnet build | |
uses: actions/cache@v3 | |
with: | |
path: starknet-devnet-rs/target/release | |
key: ${{ runner.os }}-starknet-devnet-rs-target-release-${{ hashFiles('starknet-devnet-rs/Cargo.lock') }} | |
- name: Build devnet | |
run: | | |
if [[ ! -d "$DEVNET_BUILD_PATH" ]]; then | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
pushd ${{ github.workspace }}/starknet-devnet-rs | |
cargo build --release | |
popd | |
else | |
echo "Found existing starknet-devnet-rs build, skipping compilation." | |
fi | |
- name: Install scarb 0.6.0 | |
run: | | |
curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh -s -- -v 0.6.0 | |
- name: Install sncast 0.4.1 | |
run: | | |
curl --proto '=https' --tlsv1.2 -LsSf https://raw.githubusercontent.com/foundry-rs/starknet-foundry/master/scripts/install.sh | sh -s -- -v 0.4.1 | |
- name: Run tests | |
run: | | |
export DEVNET_PATH="$DEVNET_BUILD_PATH" | |
export SCARB_PATH=$(which scarb) | |
export SNCAST_PAT="$(which sncast)" | |
swift test --disable-sandbox |