diff --git a/.github/workflows/docs-preview.yaml b/.github/workflows/docs-preview.yaml index 5dc2665..b38e9a2 100644 --- a/.github/workflows/docs-preview.yaml +++ b/.github/workflows/docs-preview.yaml @@ -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/ diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index aebd47b..e246949 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -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 }} diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index d39c82d..5129579 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -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 }}