feat: add --describe flag to strategy-builder CLI #10870
This file contains hidden or 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: Rainix CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.ref }}-rainix | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
| jobs: | |
| standard-tests: | |
| permissions: | |
| id-token: write | |
| contents: read | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| task: [ob-rs-test, rainix-rs-artifacts] | |
| is-not-main: | |
| - ${{ github.ref != 'refs/heads/main' }} | |
| 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 | |
| # We don't need to do rust static analysis on multiple platforms | |
| - os: ubuntu-latest | |
| task: rainix-rs-static | |
| # Wasm target doesnt need to run on multiple platforms | |
| - os: ubuntu-latest | |
| task: rainix-wasm-artifacts | |
| - os: ubuntu-latest | |
| task: rainix-wasm-test | |
| - os: ubuntu-latest | |
| task: rainix-wasm-browser-test | |
| # Testing JS/TS bindings doesnt need to run on multiple platforms | |
| - os: ubuntu-latest | |
| task: test-js-bindings | |
| # Legal doesnt need to run on multiple platforms | |
| - os: ubuntu-latest | |
| task: rainix-sol-legal | |
| exclude: | |
| - is-not-main: true | |
| os: macos-latest | |
| fail-fast: false | |
| runs-on: ${{ matrix.os }} | |
| env: | |
| COMMIT_SHA: ${{ github.sha }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| fetch-depth: 0 | |
| - name: Free disk space | |
| if: matrix.os == 'ubuntu-latest' | |
| uses: jlumbroso/free-disk-space@v1.3.1 | |
| with: | |
| large-packages: ${{ matrix.task != 'rainix-wasm-browser-test' }} | |
| - uses: nixbuild/nix-quick-install-action@v30 | |
| with: | |
| nix_conf: | | |
| keep-env-derivations = true | |
| keep-outputs = true | |
| - name: Restore and save Nix store | |
| uses: nix-community/cache-nix-action@v6 | |
| with: | |
| # restore and save a cache using this key | |
| primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix', '**/flake.lock') }} | |
| # if there's no cache hit, restore a cache by this prefix | |
| restore-prefixes-first-match: nix-${{ runner.os }}- | |
| # collect garbage until the Nix store size is at most this number | |
| # before trying to save a new cache | |
| gc-max-store-size-linux: 10G | |
| - run: ./pointers.sh | |
| - name: Run ${{ matrix.task }} | |
| env: | |
| ETH_RPC_URL: ${{ secrets.CI_DEPLOY_BASE_RPC_URL || vars.CI_DEPLOY_BASE_RPC_URL || '' }} | |
| CI_DEPLOY_ARBITRUM_RPC_URL: ${{ secrets.CI_DEPLOY_ARBITRUM_RPC_URL || vars.CI_DEPLOY_ARBITRUM_RPC_URL || '' }} | |
| CI_DEPLOY_BASE_RPC_URL: ${{ secrets.CI_DEPLOY_BASE_RPC_URL || vars.CI_DEPLOY_BASE_RPC_URL || '' }} | |
| CI_DEPLOY_BASE_SEPOLIA_RPC_URL: ${{ secrets.CI_DEPLOY_BASE_SEPOLIA_RPC_URL || vars.CI_DEPLOY_BASE_SEPOLIA_RPC_URL || '' }} | |
| CI_DEPLOY_FLARE_RPC_URL: ${{ secrets.CI_DEPLOY_FLARE_RPC_URL || vars.CI_DEPLOY_FLARE_RPC_URL || '' }} | |
| CI_DEPLOY_POLYGON_RPC_URL: ${{ secrets.CI_DEPLOY_POLYGON_RPC_URL || vars.CI_DEPLOY_POLYGON_RPC_URL || '' }} | |
| run: nix develop -c ${{ matrix.task }} | |
| # forwards status to telegram chat if this ci fails or gets canceled, only runs for default branch | |
| - name: Forward CI Status | |
| if: always() | |
| uses: rainlanguage/github-chore/.github/actions/telegram-status-report@main | |
| with: | |
| status: ${{ job.status }} | |
| telegram-bot-token: ${{ secrets.TELEGRAM_BOT_TOKEN }} | |
| telegram-chat-id: ${{ secrets.TELEGRAM_CHAT_ID }} |