# 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 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_on: ${{ steps.step1.outputs.test }} git_event: ${{ steps.step2.outputs.test }} build: # job to build runs-on: ubuntu-latest strategy: matrix: os: [ubuntu-latest] python-version: [3.8, 3.9, "3.10", "3.11"] needs: check steps: - env: CUDA_ON: ${{needs.check.outputs.cuda_on}} GIT_EVENT: ${{needs.check.outputs.git_event}} if: ${{ fromJSON(env.CUDA_ON) && fromJSON(env.GIT_EVENT)}} uses: qiboteam/workflows/.github/workflows/rules-poetry.yml@main with: os: ${{ matrix.os }} python-version: ${{ matrix.python-version }} poetry-extras: "--with analysis,tests" #secrets: inherit