Files
final-qibotn/.github/workflows/rules.yml
2024-02-28 14:24:19 +08:00

45 lines
1.2 KiB
YAML

# 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