From c6fb8465a6891ce8e4d45bffa9c6b464b9744983 Mon Sep 17 00:00:00 2001 From: Anton Quelle Date: Sat, 18 Jan 2025 14:29:55 +0100 Subject: [PATCH] publish to pypi (#14) split publishing workflow into two files, publish emu-base and emu-mps to pypi --- .github/workflows/publish.yml | 34 -------------- .github/workflows/publish_emu_base.yml | 45 ++++++++++++++++++ .github/workflows/publish_emu_mps.yml | 63 ++++++++++++++++++++++++++ emu_base/__init__.py | 2 +- emu_mps/__init__.py | 2 +- 5 files changed, 110 insertions(+), 36 deletions(-) delete mode 100644 .github/workflows/publish.yml create mode 100644 .github/workflows/publish_emu_base.yml create mode 100644 .github/workflows/publish_emu_mps.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index 2964d1c..0000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Publish repo - -on: - push: - tags: - - 'v[0-9]+.[0-9]+.[0-9]+' - workflow_dispatch: {} - -concurrency: - group: fast-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -jobs: - deploy_docs: - name: Deploy docs (ubuntu) - runs-on: ubuntu-latest - steps: - - name: Checkout emulators - uses: actions/checkout@v4 - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: '3.10' - cache: 'pip' - - name: Setup environment - run: | - pip install -r doc_requirements.txt - pip install -e . - - name: Deploy docs - run: | - git config user.name "GitHub Actions" - git config user.email "actions@github.com" - git fetch origin gh-pages - mike deploy --push --update-aliases ${{ github.ref_name }} latest diff --git a/.github/workflows/publish_emu_base.yml b/.github/workflows/publish_emu_base.yml new file mode 100644 index 0000000..fefbd95 --- /dev/null +++ b/.github/workflows/publish_emu_base.yml @@ -0,0 +1,45 @@ +name: Publish emu-base +run-name: Publish emu-base + +on: + push: + branches: + - main + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' + workflow_dispatch: {} + +concurrency: + group: fast-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + publish_emu_base: + name: Publish emu-base to PyPI + if: startsWith(github.ref, 'refs/tags/v') + runs-on: ubuntu-latest + permissions: + # IMPORTANT: this permission is mandatory for trusted publishing + id-token: write + steps: + - name: Check emulators + uses: actions/checkout@v4 + with: + ref: ${{ github.ref }} + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + 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: | + cd ci/emu_base + hatch build + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + packages-dir: ${{ github.workspace }}/ci/emu_base/dist + verbose: true diff --git a/.github/workflows/publish_emu_mps.yml b/.github/workflows/publish_emu_mps.yml new file mode 100644 index 0000000..f3306a5 --- /dev/null +++ b/.github/workflows/publish_emu_mps.yml @@ -0,0 +1,63 @@ +name: Publish emu-mps +run-name: Publish emu-mps + +on: + workflow_run: + workflows: [Publish emu-base] + types: + - completed +concurrency: + group: fast-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + publish_emu_mps: + name: Publish emu-mps to PyPI + if: ${{ github.event.workflow_run.conclusion == 'success' }} + runs-on: ubuntu-latest + permissions: + # IMPORTANT: this permission is mandatory for trusted publishing + id-token: write + steps: + - name: Check emulators + uses: actions/checkout@v4 + with: + ref: ${{ github.ref }} + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + 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: | + cd ci/emu_mps + hatch build + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + packages-dir: ${{ github.workspace }}/ci/emu_mps/dist + verbose: true + deploy_docs: + name: Deploy docs (ubuntu) + needs: publish_emu_mps + runs-on: ubuntu-latest + steps: + - name: Checkout emulators + uses: actions/checkout@v4 + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: '3.10' + - name: Setup environment + run: | + pip install -r doc_requirements.txt + pip install -e . + - name: Deploy docs + run: | + git config user.name "GitHub Actions" + git config user.email "actions@github.com" + git fetch origin gh-pages + mike deploy --push --update-aliases ${{ github.ref_name }} latest diff --git a/emu_base/__init__.py b/emu_base/__init__.py index 428750f..8ed935d 100644 --- a/emu_base/__init__.py +++ b/emu_base/__init__.py @@ -44,4 +44,4 @@ "DEFAULT_MAX_KRYLOV_DIM", ] -__version__ = "1.2.0" +__version__ = "1.2.1" diff --git a/emu_mps/__init__.py b/emu_mps/__init__.py index 603c36a..6b72031 100644 --- a/emu_mps/__init__.py +++ b/emu_mps/__init__.py @@ -35,4 +35,4 @@ "SecondMomentOfEnergy", ] -__version__ = "1.2.0" +__version__ = "1.2.1"