# A single CI script with github workflow name: Tests env: CUDA_PATH: on: workflow_dispatch: push: pull_request: types: [labeled] jobs: check: # job to check cuda availability for local gpu host runners runs-on: ubuntu-latest steps: - id: step1 run: echo "test=${{ env.CUDA_PATH != ''}}" >> "$GITHUB_OUTPUT" - id: step2 run: echo "test=${{ contains(github.event.pull_request.labels.*.name, 'run-workflow') || github.event_name == 'push' }}" >> "$GITHUB_OUTPUT" outputs: cuda_avail: ${{ fromJSON(steps.step1.outputs.test) && fromJSON(steps.step2.outputs.test) }} build: # job to build needs: check if: ${{fromJSON(needs.check.outputs.cuda_avail)}} strategy: matrix: os: [ubuntu-latest] python-version: ["3.11", "3.12", "3.13"] uses: qiboteam/workflows/.github/workflows/rules-poetry.yml@v1 with: os: ${{ matrix.os }} python-version: ${{ matrix.python-version }} poetry-extras: "--with analysis,tests" secrets: inherit