fix: python #172
Workflow file for this run
This file contains 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: test | |
on: | |
push: | |
branches: [v*] | |
pull_request: | |
branches: [v*, main] | |
concurrency: | |
group: test-${{ github.head_ref }} | |
cancel-in-progress: true | |
env: | |
PYTHONUNBUFFERED: '1' | |
FORCE_COLOR: '1' | |
jobs: | |
run: | |
name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
python-version: ['3.8', '3.9', '3.10', '3.11'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install llvm | |
if: startsWith(matrix.os, 'macos') | |
run: | | |
brew remove --ignore-dependencies python | |
rm -rf /usr/local/bin/2to3* | |
rm -rf /usr/local/bin/idle3* | |
rm -rf /usr/local/bin/pydoc3* | |
rm -rf /usr/local/bin/python* | |
brew cleanup | |
brew update -f | |
brew install libomp llvm | |
echo " | |
export PATH=\"$(brew --prefix)/opt/llvm/bin:\$PATH\" | |
export DYLD_LIBRARY_PATH=\"$(brew --prefix)/lib:$DYLD_LIBRARY_PATH\" | |
export LDFLAGS=\"-L$(brew --prefix)/opt/llvm/lib\" | |
export CPPFLAGS=\"-I$(brew --prefix)/opt/llvm/include\" | |
export LD=ld.lld | |
export AR=llvm-ar | |
export RANLIB=llvm-ranlib | |
" >> $HOME/.bash_profile | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: stable | |
- name: Install Task | |
run: | | |
go install github.com/go-task/task/v3/cmd/task@latest | |
- uses: hecrj/setup-rust-action@v2 | |
with: | |
rust-version: stable | |
- uses: cargo-bins/cargo-binstall@main | |
- name: Install jaq | |
run: | | |
cargo binstall -y jaq | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Hatch | |
run: pip install --upgrade hatch | |
- name: Run tests | |
run: hatch run cov | |
- name: Test src lib compilation | |
shell: bash | |
run: | | |
task example | |
- name: Test simple lib compilation | |
shell: bash | |
run: | | |
task simple-structure | |
- name: Test build target directives | |
shell: bash | |
run: | | |
task only-included |