--- 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: ci-${{ github.ref }} cancel-in-progress: true jobs: tests: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: ["ubuntu-latest", "windows-2022"] type: ["cli", "dapp", "data_dependency", "path_filtering", # "embark", "erc", # "etherlime", "etherscan", "find_paths", "flat", "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@v1 - name: Set up Python 3.8 uses: actions/setup-python@v3 with: python-version: 3.8 - name: Install dependencies run: | pip install ".[dev]" solc-select use 0.4.25 --always-install solc-select use 0.8.0 --always-install solc-select use 0.5.1 --always-install pip install typing_extensions==4.1.1 pip install importlib_metadata==4.8.3 - name: Set up nix if: matrix.type == 'dapp' uses: cachix/install-nix-action@v16 - name: Set up cachix if: matrix.type == 'dapp' uses: cachix/cachix-action@v10 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"