From a52bc2d86bca77330273ba38aea8f3501baa2f11 Mon Sep 17 00:00:00 2001 From: Snigdhajyoti Ghosh Date: Fri, 24 Nov 2023 15:45:59 +0530 Subject: [PATCH] Update github action pipeline to push to Pypi without release --- .github/workflows/publish.yml | 67 ++++++++++++++++++++++++++++++----- .github/workflows/tagging.yml | 50 -------------------------- 2 files changed, 59 insertions(+), 58 deletions(-) delete mode 100644 .github/workflows/tagging.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8701429..7ff3d7c 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,26 +1,78 @@ name: Publish to PyPI on: - release: - types: - - created + workflow_dispatch: + push: + branches: + - "main" + paths: + - ".github/workflows/publish.yml" + - "aws_fusion/**" + - "setup.py" concurrency: publish +env: + PYTHON_VERSION: '3.11' + jobs: - build: + tagging: + runs-on: ubuntu-latest + name: Auto Tagging + permissions: + contents: write + outputs: + tag: ${{ steps.package_info.outputs.tag }} + tag_pre_exist: ${{ steps.package_info.outputs.tag_pre_exist }} + steps: + - name: Checkout 🔔 + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: ${{ env.PYTHON_VERSION }} + + - name: Get package information + id: package_info + run: | + current_version=$(./setup.py --version) + + tag_pre_exist=false + if git rev-parse "refs/tags/v$current_version" >/dev/null 2>&1; then + echo "::warning title=Tag already exists::v${current_version}" + tag_pre_exist=true + fi + + echo "tag=v${current_version}" >> "$GITHUB_OUTPUT" + echo "tag_pre_exist=${tag_pre_exist}" >> "$GITHUB_OUTPUT" + + - name: Add git tag + if: ${{ steps.package_info.outputs.tag_pre_exist == 'false' }} + run: | + git tag ${{ steps.package_info.outputs.tag }} + git push origin ${{ steps.package_info.outputs.tag }} + + publish: + needs: tagging + if: ${{ needs.tagging.outputs.tag_pre_exist == 'false' }} runs-on: ubuntu-latest + name: Publish environment: pypi permissions: id-token: write steps: - - name: Checkout code + - name: Checkout 🔔 uses: actions/checkout@v3 + with: + ref: ${{ needs.tagging.outputs.tag }} - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.11' + python-version: ${{ env.PYTHON_VERSION }} - name: Install dependencies run: | @@ -28,8 +80,7 @@ jobs: pip install setuptools wheel twine - name: Build - run: | - python setup.py sdist bdist_wheel + run: python setup.py sdist bdist_wheel - name: Publish release distributions to PyPI uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/tagging.yml b/.github/workflows/tagging.yml deleted file mode 100644 index deb6e1d..0000000 --- a/.github/workflows/tagging.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Auto Tagging - -on: - workflow_dispatch: - push: - branches: - - "main" - paths: - - "aws_fusion/**" - - "setup.py" - -concurrency: tagging - -jobs: - tag: - runs-on: ubuntu-latest - name: Auto Tagging - permissions: - contents: write - - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Setup Python - uses: actions/setup-python@v4 - with: - python-version: '3.11' - - - name: Get package information - id: package_info - run: | - current_version=$(./setup.py --version) - - tag_exist=false - if git rev-parse "refs/tags/v$current_version" >/dev/null 2>&1; then - echo "::warning title=Tag already exists::v${current_version}" - tag_exist=true - fi - - echo "tag=v${current_version}" >> "$GITHUB_OUTPUT" - echo "tag_exist=${tag_exist}" >> "$GITHUB_OUTPUT" - - - name: Add git tag - if: ${{ steps.package_info.outputs.tag_exist == 'false' }} - run: | - git tag ${{ steps.package_info.outputs.tag }} - git push origin ${{ steps.package_info.outputs.tag }}