Skip to content

init

init #817

Workflow file for this run

name: Rainix CI
on: [push]
jobs:
rainix:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
task: [rainix-rs-test, rainix-rs-artifacts, rainix-sol-legal]
include:
# Solidity doesn't need to be tested on multiple platforms
- os: ubuntu-latest
task: rainix-sol-test
- os: ubuntu-latest
task: rainix-sol-static
- os: ubuntu-latest
task: rainix-sol-artifacts
# We don't need to do rust static analysis on multiple platforms
- os: ubuntu-latest
task: rainix-rs-static
# We don't need to do build for wasm32 on multiple platforms
- os: ubuntu-latest
task: test-wasm-build
fail-fast: false
runs-on: ${{ matrix.os }}
env:
DEPLOYMENT_KEY: ${{ github.ref == 'refs/heads/main' && secrets.PRIVATE_KEY || secrets.PRIVATE_KEY_DEV }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
- run: nix develop --command rainix-sol-prelude
- run: nix develop --command rainix-rs-prelude
- run: nix develop --command i9r-prelude
- name: Run ${{ matrix.task }}
env:
ETH_RPC_URL: ${{ secrets.CI_DEPLOY_SEPOLIA_RPC_URL || vars.CI_DEPLOY_SEPOLIA_RPC_URL }}
ETHERSCAN_API_KEY: ${{ secrets.EXPLORER_VERIFICATION_KEY }}
DEPLOY_BROADCAST: ''
DEPLOY_VERIFIER: ''
DEPLOY_METABOARD_ADDRESS: ${{ vars.CI_DEPLOY_SEPOLIA_METABOARD_ADDRESS }}
CI_FORK_SEPOLIA_BLOCK_NUMBER: ${{ vars.CI_FORK_SEPOLIA_BLOCK_NUMBER }}
CI_FORK_SEPOLIA_DEPLOYER_ADDRESS: ${{ vars.CI_FORK_SEPOLIA_DEPLOYER_ADDRESS }}
CI_DEPLOY_SEPOLIA_RPC_URL: ${{ secrets.CI_DEPLOY_SEPOLIA_RPC_URL || vars.CI_DEPLOY_SEPOLIA_RPC_URL }}
run: nix develop --command ${{ matrix.task }}