--- name: Doctor defaults: run: shell: bash on: workflow_dispatch: pull_request: paths: - 'slither/tools/doctor/**' - '.github/workflows/doctor.yml' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: slither-doctor: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: ["ubuntu-latest", "windows-2022"] python: ["3.8", "3.9", "3.10", "3.11"] exclude: # strange failure - os: windows-2022 python: 3.8 steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} - name: Try system-wide Slither run: | echo "::group::Install slither" pip3 install . echo "::endgroup::" # escape cwd so python doesn't pick up local module cd / echo "::group::Via module" python3 -m slither.tools.doctor . echo "::endgroup::" echo "::group::Via binary" slither-doctor . echo "::endgroup::" - name: Try user Slither run: | echo "::group::Install slither" pip3 install --user . echo "::endgroup::" # escape cwd so python doesn't pick up local module cd / echo "::group::Via module" python3 -m slither.tools.doctor . echo "::endgroup::" echo "::group::Via binary" slither-doctor . echo "::endgroup::" - name: Try venv Slither run: | echo "::group::Install slither" python3 -m venv venv source venv/bin/activate || source venv/Scripts/activate hash -r pip3 install . echo "::endgroup::" # escape cwd so python doesn't pick up local module cd / echo "::group::Via module" python3 -m slither.tools.doctor . echo "::endgroup::" echo "::group::Via binary" slither-doctor . echo "::endgroup::"