Skip to content

Commit

Permalink
[QI2-1220] Call composite actions and workflows (#91)
Browse files Browse the repository at this point in the history
  • Loading branch information
oschusler authored Dec 20, 2024
1 parent 164c6a1 commit f601bbc
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 189 deletions.
26 changes: 2 additions & 24 deletions .github/workflows/docs-preview.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,6 @@ jobs:
deploy-preview:
runs-on: "ubuntu-latest"
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/checkout@v4
- uses: QuTech-Delft/GitHub-Actions/actions/docs/sphinx-docs-preview@master

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install poetry
uses: abatilo/actions-poetry@v3
with:
poetry-version: "1.8.3"

- name: Install tox
run: pip install tox

- name: Install and Build
if: github.event.action != 'closed' # You might want to skip the build if the PR has been closed
run: |
tox -e docs
- name: Deploy preview
uses: rossjrw/pr-preview-action@v1
with:
source-dir: ./docs/_build/html/
61 changes: 3 additions & 58 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,62 +17,7 @@ jobs:
id-token: write
contents: write
steps:
- uses: actions/checkout@master

- name: Set up Python
uses: actions/setup-python@v5
- uses: actions/checkout@v4
- uses: QuTech-Delft/GitHub-Actions/actions/python/poetry-release@master
with:
python-version: "3.11"

- name: Install poetry
uses: abatilo/actions-poetry@v3
with:
poetry-version: "1.8.3"

- name: Install tox
run: pip install tox

# Setting the proper version
- name: Get previous Tag
if: github.ref == 'refs/heads/master'
id: previous_tag
uses: WyriHaximus/github-action-get-previous-tag@v1
with:
fallback: 0.1.0

- name: Set Build version
if: github.ref == 'refs/heads/master'
run: poetry version "${{ steps.previous_tag.outputs.tag }}.dev${{ github.run_number }}"

- name: Set Release version
if: github.event_name == 'release' && github.event.action == 'created'
run: poetry version ${{ github.ref_name }}

# Build and deploy docs
- name: Build docs
if: github.ref == 'refs/heads/master'
run: |
tox -e docs
- name: Deploy docs
if: github.ref == 'refs/heads/master'
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/_build/html/

# Build package
- name: Build poetry package
run: poetry build

# Publishing the package
- name: Publish distribution 📦 to Test PyPI
if: github.ref == 'refs/heads/master'
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
verbose: true

- name: Publish distribution 📦 to PyPI
if: github.event_name == 'release' && github.event.action == 'created'
uses: pypa/gh-action-pypi-publish@release/v1
github-token: ${{ secrets.GITHUB_TOKEN }}
118 changes: 11 additions & 107 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,110 +7,14 @@ on:
pull_request:

jobs:
lint:
name: Static analysis
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install poetry
uses: abatilo/actions-poetry@v3
with:
poetry-version: "1.3.2"
- name: Install tox
run: pip install tox
- name: run tox lint and type
run: tox -e lint,type
unit-test:
name: Unit testing
needs: lint
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-13 # runs x64
- macos-14 # runs arm64
- windows-latest
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
runs-on: ${{ matrix.os }}
env:
PYTHON_KEYRING_BACKEND: keyring.backends.null.Keyring
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install poetry
uses: abatilo/actions-poetry@v3
with:
poetry-version: "1.3.2"
- name: Install tox
run: pip install tox
- name: run tox test
run: tox -e test
e2e-test:
name: End to End testing
needs: lint
runs-on: ubuntu-latest
strategy:
matrix:
backend-name:
- "Stubbed"
- "QX emulator"
env:
E2E_USERNAME: ${{ secrets.E2E_USERNAME }}
E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }}
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install poetry
uses: abatilo/actions-poetry@v3
with:
poetry-version: "1.3.2"
- name: Install packages
run: poetry install
- name: Run e2e test
run: poetry run python tests/e2e_test.py "${{ matrix.backend-name }}"
complete:
# see https://github.community/t/status-check-for-a-matrix-jobs/127354/7
name: Report status
needs: [lint, unit-test, e2e-test]
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Check all job status
# see https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#needs-context
# see https://stackoverflow.com/a/67532120/4907315
if: >-
${{
contains(needs.*.result, 'failure')
|| contains(needs.*.result, 'cancelled')
|| contains(needs.*.result, 'skipped')
}}
run: exit 1
auto-merge-dependabot:
name: Auto merge dependabot PR
needs: complete
if: ${{ (github.event_name == 'pull_request') && (github.actor == 'dependabot[bot]') }}
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: write
steps:
- name: Squash and Merge PR from dependabot
uses: fastify/github-action-merge-dependabot@v3.11.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
merge-method: squash
testing:
uses: qutech-delft/github-actions/.github/workflows/poetry-tests.yaml@master
with:
e2e_path: 'tests/e2e_test.py'
idp_url: 'https://quantum-inspire-staging.eu.auth0.com'
default_host: 'https://staging.qi2.quantum-inspire.com'
api_audience: 'compute-job-manager'
secrets:
e2e_username: ${{ secrets.E2E_USERNAME }}
e2e_password: ${{ secrets.E2E_PASSWORD }}
idp_client_id: ${{ secrets.IDP_CLIENT_ID }}

0 comments on commit f601bbc

Please sign in to comment.