add regression tests for GIL ordering bug (v2) #206
Workflow file for this run
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: CI | |
| on: | |
| push: | |
| branches: [ master ] | |
| pull_request: | |
| branches: [ '**' ] | |
| env: | |
| TAGS: "-tags=ci" | |
| COVERAGE: "-coverpkg=github.com/go-python/gopy/..." | |
| # Init() in main_test will make sure all backends are available if | |
| # GOPY_TRAVIS_CI is set | |
| GOPY_TRAVIS_CI: 1 | |
| GOTRACEBACK: crash | |
| GO111MODULE: auto | |
| jobs: | |
| build: | |
| name: Build | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| go-version: [1.25.x, 1.24.x, 1.22.x, 1.21.x] | |
| platform: [ubuntu-latest, windows-latest, macos-14] | |
| #platform: [ubuntu-latest, macos-latest, windows-latest] | |
| runs-on: ${{ matrix.platform }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: ${{ matrix.go-version }} | |
| cache: true | |
| - name: Install Linux packages | |
| if: matrix.platform == 'ubuntu-latest' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install curl libffi-dev python3-cffi python3-pip | |
| # install pybindgen | |
| python3 -m pip install --user -U pybindgen | |
| # install goimports | |
| go install golang.org/x/tools/cmd/goimports@latest | |
| - name: Install Windows packages | |
| if: matrix.platform == 'windows-latest' | |
| run: | | |
| # install pybindgen and psutil (for memory tracking in tests) | |
| python -m pip install -U pybindgen psutil | |
| # install goimports | |
| go install golang.org/x/tools/cmd/goimports@latest | |
| - name: Install macOS packages | |
| if: matrix.platform == 'macos-14' | |
| run: | | |
| # install pybindgen | |
| python3 -m pip install --user -U pybindgen | |
| # install goimports | |
| go install golang.org/x/tools/cmd/goimports@latest | |
| - name: Build-Linux | |
| if: matrix.platform == 'ubuntu-latest' | |
| run: | | |
| make | |
| - name: Test Linux | |
| if: matrix.platform == 'ubuntu-latest' | |
| run: | | |
| make test | |
| - name: Build-Windows | |
| if: matrix.platform == 'windows-latest' | |
| run: | | |
| go build -v ./... | |
| - name: Test Windows | |
| if: matrix.platform == 'windows-latest' | |
| run: | | |
| go test -v ./... | |
| - name: Build-macOS | |
| if: matrix.platform == 'macos-14' | |
| run: | | |
| make | |
| - name: Test macOS | |
| if: matrix.platform == 'macos-14' | |
| run: | | |
| make test | |
| - name: Upload-Coverage | |
| if: matrix.platform == 'ubuntu-latest' | |
| uses: codecov/codecov-action@v4 |