Update xjb impl #221
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: "Run Test (x86_64 Linux, SDE, with Nix)" | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - "main" | |
| - "dev" | |
| paths: | |
| - "src/**" | |
| - "test/**" | |
| - "CMakeLists.txt" | |
| pull_request: | |
| paths: | |
| - "src/**" | |
| - "test/**" | |
| - "CMakeLists.txt" | |
| jobs: | |
| RUN-TEST: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| pyver: ["10", "11", "12", "13", "14", "15", "14t"] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install nix | |
| uses: cachix/install-nix-action@master | |
| - name: Setup cachix | |
| uses: cachix/cachix-action@master | |
| with: | |
| name: antares0982 | |
| - name: Nix Develop | |
| run: | | |
| nix develop .#devenv-py3${{ matrix.pyver }} -c echo "Nix develop environment set up." | |
| - name: Release Test (Build Only) | |
| run: | | |
| nix develop .#buildenv-py3${{ matrix.pyver }} -c python ./dev_tools/linux_test.py --build-dir build-py3.${{ matrix.pyver }} --build-type Release --build-only | |
| - name: DEBUG Tests (Build and Run) | |
| run: | | |
| nix develop .#buildenv-py3${{ matrix.pyver }} -c python ./dev_tools/linux_test.py --build-dir build-py3.${{ matrix.pyver }} --build-type Debug | |
| - name: Print Features | |
| id: "print_features" | |
| run: | | |
| result=$(PYTHONPATH=$(pwd)/build-py3.${{ matrix.pyver }} nix develop .#buildenv-py3${{ matrix.pyver }} -c python -c "import ssrjson;print(ssrjson.get_current_features()['simd'])") | |
| echo $result | |
| echo "result=$result" >> $GITHUB_OUTPUT | |
| - name: Run Python Tests (SDE, AVX512) | |
| if: steps.print_features.outputs.result != 'AVX512' | |
| run: | | |
| PYTHONPATH=$(pwd)/build-py3.${{ matrix.pyver }} .nix-devenv/bin/run-sde-clx .nix-devenv/bin/python3.${{ matrix.pyver }} -m pytest --random-order python-test --ignore python-test/test_memory.py | |
| - name: Run Python Tests (SDE, AVX2) | |
| if: steps.print_features.outputs.result != 'AVX2' | |
| run: | | |
| PYTHONPATH=$(pwd)/build-py3.${{ matrix.pyver }} .nix-devenv/bin/run-sde-rpl .nix-devenv/bin/python3.${{ matrix.pyver }} -m pytest --random-order python-test --ignore python-test/test_memory.py | |
| - name: Run Python Tests (SDE, SSE4.2) | |
| if: steps.print_features.outputs.result != 'SSE4.2' | |
| run: | | |
| PYTHONPATH=$(pwd)/build-py3.${{ matrix.pyver }} .nix-devenv/bin/run-sde-ivb .nix-devenv/bin/python3.${{ matrix.pyver }} -m pytest --random-order python-test --ignore python-test/test_memory.py | |
| - name: Run C Tests (SDE, ALL) | |
| run: | | |
| PYTHONPATH=$(pwd)/build-py3.${{ matrix.pyver }} .nix-devenv/bin/run-sde-clx ./build-py3.${{ matrix.pyver }}/ssrjson_test | |
| RUN-TEST-LOCKFREE: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| pyver: ["14t"] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install nix | |
| uses: cachix/install-nix-action@master | |
| - name: Setup cachix | |
| uses: cachix/cachix-action@master | |
| with: | |
| name: antares0982 | |
| - name: Nix Develop | |
| run: | | |
| nix develop .#devenv-py3${{ matrix.pyver }} -c echo "Nix develop environment set up." | |
| - name: Release Test (Build Only) | |
| run: | | |
| nix develop .#buildenv-py3${{ matrix.pyver }} -c python ./dev_tools/linux_test.py --lockfree --build-dir build-py3.${{ matrix.pyver }} --build-type Release --build-only | |
| - name: DEBUG Tests (Build and Run) | |
| run: | | |
| nix develop .#buildenv-py3${{ matrix.pyver }} -c python ./dev_tools/linux_test.py --lockfree --build-dir build-py3.${{ matrix.pyver }} --build-type Debug | |
| - name: Print Features | |
| id: "print_features" | |
| run: | | |
| result=$(PYTHONPATH=$(pwd)/build-py3.${{ matrix.pyver }} nix develop .#buildenv-py3${{ matrix.pyver }} -c python -c "import ssrjson;print(ssrjson.get_current_features()['simd'])") | |
| echo $result | |
| echo "result=$result" >> $GITHUB_OUTPUT | |
| - name: Run Python Tests (SDE, AVX512) | |
| if: steps.print_features.outputs.result != 'AVX512' | |
| run: | | |
| PYTHONPATH=$(pwd)/build-py3.${{ matrix.pyver }} .nix-devenv/bin/run-sde-clx .nix-devenv/bin/python3.${{ matrix.pyver }} -m pytest --random-order python-test --ignore python-test/test_memory.py | |
| - name: Run Python Tests (SDE, AVX2) | |
| if: steps.print_features.outputs.result != 'AVX2' | |
| run: | | |
| PYTHONPATH=$(pwd)/build-py3.${{ matrix.pyver }} .nix-devenv/bin/run-sde-rpl .nix-devenv/bin/python3.${{ matrix.pyver }} -m pytest --random-order python-test --ignore python-test/test_memory.py | |
| - name: Run Python Tests (SDE, SSE4.2) | |
| if: steps.print_features.outputs.result != 'SSE4.2' | |
| run: | | |
| PYTHONPATH=$(pwd)/build-py3.${{ matrix.pyver }} .nix-devenv/bin/run-sde-ivb .nix-devenv/bin/python3.${{ matrix.pyver }} -m pytest --random-order python-test --ignore python-test/test_memory.py | |
| - name: Run C Tests (SDE, ALL) | |
| run: | | |
| PYTHONPATH=$(pwd)/build-py3.${{ matrix.pyver }} .nix-devenv/bin/run-sde-clx ./build-py3.${{ matrix.pyver }}/ssrjson_test |