Remove old matrix-cli.py file (hyphenated version) #11
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: QuantX Matrix Build | |
| on: | |
| workflow_dispatch: # Manually triggerable | |
| push: | |
| branches: | |
| - matrix-build | |
| jobs: | |
| matrix-conda-build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13"] | |
| nodejs-version: ["18", "20", "22", "24"] | |
| openssl-version: ["1.1.1", "3.0"] | |
| exclude: | |
| # Exclude known failing combinations | |
| - python-version: "3.11" | |
| openssl-version: "1.1.1" | |
| - python-version: "3.12" | |
| openssl-version: "1.1.1" | |
| - python-version: "3.13" | |
| openssl-version: "1.1.1" | |
| # Node.js 24 might have compatibility issues with older OpenSSL | |
| - nodejs-version: "24" | |
| openssl-version: "1.1.1" | |
| name: "Python ${{ matrix.python-version }}, Node ${{ matrix.nodejs-version }}, OpenSSL ${{ matrix.openssl-version }}" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Mambaforge | |
| uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| miniforge-variant: Mambaforge | |
| miniforge-version: latest | |
| use-mamba: true | |
| python-version: ${{ matrix.python-version }} | |
| channels: conda-forge,defaults | |
| - name: Install conda-build | |
| shell: bash -l {0} | |
| run: | | |
| mamba install -y conda-build anaconda-client | |
| - name: Build conda package | |
| shell: bash -l {0} | |
| run: | | |
| conda build ./matrix-build/conda-recipe \ | |
| --python ${{ matrix.python-version }} \ | |
| --variants "{\"openssl\": [\"${{ matrix.openssl-version }}\"], \"nodejs\": [\"${{ matrix.nodejs-version }}\"]}" | |
| - name: Test local installation | |
| shell: bash -l {0} | |
| run: | | |
| # Install the built package locally to verify it works | |
| mamba install -y --use-local quantx | |
| # Verify CLI is accessible | |
| quantx version | |
| - name: Upload package artifacts | |
| if: success() | |
| uses: actions/upload-artifact@v3 | |
| with: | |
| name: quantx-py${{ matrix.python-version }}-node${{ matrix.nodejs-version }}-ssl${{ matrix.openssl-version }} | |
| path: /usr/share/miniconda3/envs/test/conda-bld/*/quantx-*.tar.bz2 | |
| publish-release-candidate: | |
| needs: matrix-conda-build | |
| runs-on: ubuntu-latest | |
| if: success() | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Mambaforge | |
| uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| miniforge-variant: Mambaforge | |
| miniforge-version: latest | |
| use-mamba: true | |
| python-version: "3.10" | |
| channels: conda-forge,defaults | |
| - name: Install conda-build and anaconda-client | |
| shell: bash -l {0} | |
| run: | | |
| mamba install -y conda-build anaconda-client | |
| - name: Build release candidate package | |
| shell: bash -l {0} | |
| run: | | |
| conda build ./matrix-build/conda-recipe \ | |
| --python 3.10 \ | |
| --variants "{\"openssl\": [\"3.0\"], \"nodejs\": [\"18\"]}" | |
| - name: Upload to Anaconda as Release Candidate | |
| shell: bash -l {0} | |
| env: | |
| ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_TOKEN }} | |
| run: | | |
| anaconda login --token $ANACONDA_API_TOKEN | |
| anaconda upload \ | |
| --user quantDIY \ | |
| --label rc \ | |
| --force \ | |
| /usr/share/miniconda3/envs/test/conda-bld/*/quantx-*.tar.bz2 | |
| echo "✅ QuantX Release Candidate published to Anaconda!" | |
| echo "🚀 Install with: conda install -c quantDIY/label/rc quantx" |