name: Tests on CI on: [pull_request] jobs: cpu: name: Tests on ${{ matrix.os }} runs-on: ${{ matrix.os }} if: "!contains(github.event.head_commit.message, 'ci skip')" strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] python-version: ["3.11"] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: "${{ matrix.python-version }}" - uses: actions/setup-go@v5 with: go-version: '>=1.17.0' # Add Go bin directory to PATH for this workflow # GITHUB_PATH is a special file that GitHub Actions uses to modify PATH # Writing to this file adds the directory to the PATH for subsequent steps - name: Install gopls shell: bash run: | go install golang.org/x/tools/gopls@latest if [ "$RUNNER_OS" = "Windows" ]; then echo "$HOME/go/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append else echo "$HOME/go/bin" >> $GITHUB_PATH fi - name: Install uv shell: bash run: curl -LsSf https://astral.sh/uv/install.sh | sh - name: Create virtual environment shell: bash run: uv venv - name: Install dependencies shell: bash run: uv pip install -e ".[dev]" - name: Test with pytest shell: bash run: uv run poe test