--- name: CI defaults: run: shell: bash on: push: branches: - master - dev pull_request: schedule: # run CI every day even if no PRs/merges occur - cron: '0 12 * * *' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: tests: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: ["ubuntu-latest", "windows-2022"] python: ${{ (github.event_name == 'pull_request' && fromJSON('["3.8", "3.11"]')) || fromJSON('["3.8", "3.9", "3.10", "3.11"]') }} type: ["cli", "dapp", "data_dependency", "path_filtering", # "embark", "erc", # "etherlime", "etherscan", "find_paths", "flat", "interface", "kspec", "printers", # "prop" "simil", "slither_config", "truffle", "upgradability"] exclude: # Requires nix - os: windows-2022 type: dapp # Requires nvm - os: windows-2022 type: truffle steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python }} - name: Install dependencies run: | pip install ".[test]" solc-select use 0.4.25 --always-install solc-select use 0.8.0 --always-install solc-select use 0.5.1 --always-install - name: Set up nix if: matrix.type == 'dapp' uses: cachix/install-nix-action@v24 - name: Set up cachix if: matrix.type == 'dapp' uses: cachix/cachix-action@v14 with: name: dapp - name: Run Tests env: PYTHONUTF8: 1 TEST_TYPE: ${{ matrix.type }} GITHUB_ETHERSCAN: ${{ secrets.GITHUB_ETHERSCAN }} run: | bash "scripts/ci_test_${TEST_TYPE}.sh"