use python directly #17
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: build | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| branches: [ master ] | |
| pull_request: | |
| branches: [ master ] | |
| env: | |
| MKN_KUL_GIT_CO: --depth 1 | |
| jobs: | |
| ubuntu: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| max-parallel: 4 | |
| matrix: | |
| python-version: ['3.12', '3.13', '3.14'] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| architecture: x64 | |
| - env: | |
| MKN_LIB_LINK_LIB: 1 | |
| run: | | |
| python3 -c "import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))" | |
| curl -fL --retry 3 --retry-delay 2 -o mkn https://github.com/mkn/mkn/releases/download/latest/mkn_nix | |
| chmod +x mkn | |
| KLOG=2 ./mkn clean build run -dtOa "-std=c++20 -fPIC" | |
| KLOG=2 ./mkn clean build -dtOa "-std=c++20 -fPIC" -p test_module | |
| python3 -c "import test_module as tm; tm.lol()" | |
| macos: | |
| runs-on: macos-latest | |
| strategy: | |
| fail-fast: false | |
| max-parallel: 4 | |
| matrix: | |
| python-version: ['3.12', '3.13', '3.14'] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| architecture: x64 | |
| - env: | |
| MKN_LIB_LINK_LIB: 1 | |
| run: | | |
| python3 -c "import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))" | |
| curl -fL --retry 3 --retry-delay 2 -o mkn https://github.com/mkn/mkn/releases/download/latest/mkn_arm_osx | |
| chmod +x mkn | |
| KLOG=2 ./mkn clean build run -dtOa "-std=c++20 -fPIC" | |
| KLOG=2 ./mkn clean build -dtOa "-std=c++20 -fPIC" -p test_module | |
| python3 -c "import test_module as tm; tm.lol()" | |
| windows: | |
| runs-on: windows-latest | |
| strategy: | |
| fail-fast: false | |
| max-parallel: 4 | |
| matrix: | |
| python-version: ['3.12', '3.13', '3.14'] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| architecture: x64 | |
| - uses: ilammy/msvc-dev-cmd@v1 | |
| with: | |
| arch: amd64 | |
| - env: | |
| MKN_CL_PREFERRED: 1 | |
| shell: cmd | |
| run: | # /bin/link interferes with cl/link.exe | |
| python3 -c "import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))" | |
| bash -c "rm /bin/link" | |
| bash -c 'curl -Lo mkn.exe https://github.com/mkn/mkn/releases/download/latest/mkn.exe' | |
| bash -c 'KLOG=2 ./mkn clean build run -dtOa "-EHsc -std:c++20"' | |
| bash -c 'KLOG=2 ./mkn clean build run -dtOp test -a "-EHsc -std:c++20"' | |
| bash -c 'KLOG=2 ./mkn clean build -dtOp test_module -a "-EHsc -std:c++20"' | |
| bash -c 'python3 -c "import test_module as tm; tm.lol()"' |