summaryrefslogtreecommitdiff
path: root/.github/workflows/publish.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/publish.yml')
-rw-r--r--.github/workflows/publish.yml52
1 files changed, 52 insertions, 0 deletions
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
new file mode 100644
index 000000000..5bc73a014
--- /dev/null
+++ b/.github/workflows/publish.yml
@@ -0,0 +1,52 @@
+#
+# Apache Thrift release publishing workflow
+#
+# When a release is created in GitHub, it should be created in pre-release
+# mode first. This will trigger a "prereleased" event which will cause this
+# workflow to run and publish packages to various package managers. You
+# must check the Actions tab in GitHub to see the result of the workflow.
+#
+# github.event.action is either "prereleased" or "released" and corresponds
+# with a named environment in CloudTruth
+#
+# | Destinations
+# Language | Prereleased | Released
+# ----------+---------------+---------------
+# py | test.pypi.org | pypi.org
+#
+---
+name: Publish
+
+on:
+ release:
+ types:
+ - prereleased
+ - released
+
+permissions:
+ contents: read
+
+jobs:
+ pypi:
+ runs-on: ubuntu-latest
+ timeout-minutes: 5
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ persist-credentials: false
+ submodules: recursive
+ - uses: actions/setup-python@v3
+ - name: Get configuration and secrets from CloudTruth
+ uses: ./.github/actions/cloudtruth/configure-action
+ with:
+ apikey: "${{ secrets.CLOUDTRUTH_API_KEY }}"
+ project: "${{ github.repository }}"
+ environment: "${{ github.event.action }}"
+ - name: build sdist
+ run: "cd lib/py && python setup.py sdist"
+ - name: Publish to PyPI
+ uses: ./.github/actions/pypa/gh-action-pypi-publish
+ with:
+ password: "${{ env.PYPI_PASSWORD }}"
+ repository_url: "${{ env.PYPI_REPOSITORY }}"
+ packages_dir: lib/py/dist