diff --git a/.github/workflows/build_deploy_docs.yml b/.github/workflows/build_docs.yml similarity index 73% rename from .github/workflows/build_deploy_docs.yml rename to .github/workflows/build_docs.yml index f34c4299..332f14d3 100644 --- a/.github/workflows/build_deploy_docs.yml +++ b/.github/workflows/build_docs.yml @@ -1,4 +1,4 @@ -name: Build & deploy documentation +name: Build documentation on: push: @@ -44,14 +44,5 @@ jobs: pip install hatch - name: Build docs - if: ${{ !startsWith(github.ref, 'ref/tags/v') }} run: | hatch -v run docs:build - - - name: Deploy docs - if: startsWith(github.ref, 'ref/tags/v') - run: | - echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV - git config user.name "GitHub Actions" - git config user.email "actions@github.com" - mike deploy --push --update-aliases $VERSION latest diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index 8d6fafac..00000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: Upload release to PyPI - -on: - push: - tags: - - 'v[0-9]+.[0-9]+.[0-9]+' - -jobs: - deploy: - runs-on: ubuntu-latest - steps: - - name: Check out Qadence - uses: actions/checkout@v3 - with: - ref: ${{ github.ref }} - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: "3.10" - - - name: Install Python dependencies - run: | - python -m pip install --upgrade pip - pip install hatch - - - name: Build and publish package - run: | - hatch build - hatch publish -u ${{ secrets.HATCH_PYPI_USER }} -a ${{ secrets.HATCH_PYPI_AUTH }} - - - name: Confirm deployment - timeout-minutes: 5 - run: | - VERSION=$(echo ${GITHUB_REF#refs/tags/} | sed 's/^v//') - echo "VERSION=$VERSION" >> $GITHUB_ENV - until pip download qadence==$version - do - echo "Failed to download from PyPI, will wait for upload and retry." - sleep 1 - done diff --git a/.github/workflows/test_fast.yml b/.github/workflows/test_fast.yml index 2b46a3ba..80537c10 100644 --- a/.github/workflows/test_fast.yml +++ b/.github/workflows/test_fast.yml @@ -4,6 +4,8 @@ on: push: branches: - main + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' pull_request: branches: - main @@ -14,6 +16,7 @@ concurrency: cancel-in-progress: true jobs: + test_qadence_ubuntu: name: Test Qadence (ubuntu) runs-on: ubuntu-latest @@ -23,23 +26,83 @@ jobs: steps: - name: Checkout Qadence uses: actions/checkout@v4 - - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - - name: Install Hatch run: | pip install hatch - - name: Run fast tests run: | hatch -v run test -m "not slow" - - name: Upload coverage data uses: actions/upload-artifact@v3 with: name: "coverage-data" path: .coverage.* if-no-files-found: ignore + + publish: + name: Publish to PyPI + if: startsWith(github.ref, 'ref/tags/v') + needs: test_qadence_ubuntu + runs-on: ubuntu-latest + steps: + - name: Check out Qadence + uses: actions/checkout@v3 + with: + ref: ${{ github.ref }} + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.10" + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + pip install hatch + - name: Build and publish package + run: | + hatch build + hatch publish -u ${{ secrets.HATCH_PYPI_USER }} -a ${{ secrets.HATCH_PYPI_AUTH }} + - name: Confirm deployment + timeout-minutes: 5 + run: | + VERSION=${GITHUB_REF#refs/tags/v} + until pip download qadence==$VERSION + do + echo "Failed to download from PyPI, will wait for upload and retry." + sleep 1 + done + + deploy_docs: + name: Deploy Qadence docs (ubuntu) + if: startsWith(github.ref, 'ref/tags/v') + needs: test_qadence_ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout Qadence + uses: actions/checkout@v4 + - name: Install JetBrains Mono font + run: | + sudo apt install -y wget unzip fontconfig + wget https://download.jetbrains.com/fonts/JetBrainsMono-2.304.zip + unzip JetBrainsMono-2.304.zip -d JetBrainsMono + mkdir -p /usr/share/fonts/truetype/jetbrains + cp JetBrainsMono/fonts/ttf/*.ttf /usr/share/fonts/truetype/jetbrains/ + fc-cache -f -v + - name: Install graphviz + run: sudo apt-get install -y graphviz + - name: Set up Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Install Hatch + run: | + pip install hatch + - name: Deploy docs + run: | + echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV + git config user.name "GitHub Actions" + git config user.email "actions@github.com" + mike deploy --push --update-aliases $VERSION latest