ソースを参照

build: add a release workflow

Andrea PIERRÉ 2 年 前
コミット
8fe94a8cae
1 ファイル変更59 行追加0 行削除
  1. 59 0
      .github/workflows/build-publish.yml

+ 59 - 0
.github/workflows/build-publish.yml

@@ -0,0 +1,59 @@
+# This workflow will build and (if release) publish Python distributions to PyPI
+# For more information see:
+#   - https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
+#   - https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
+#
+
+---
+name: build-publish
+
+on:
+  push:
+    branches: [master]
+  pull_request:
+    branches: [master]
+  release:
+    types: [published]
+
+jobs:
+  build-wheels:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+      - name: Set up Python
+        uses: actions/setup-python@v4
+        with:
+          python-version: '3.x'
+      - name: Install pypa/build
+        run: >-
+          python -m
+          pip install -U
+          build
+      - name: Build a binary wheel and a source tarball
+        run: >-
+          python -m
+          build
+          --sdist
+          --wheel
+          --outdir dist/
+          .
+      - name: Store wheels
+        uses: actions/upload-artifact@v3
+        with:
+          path: dist
+
+  publish:
+    runs-on: ubuntu-latest
+    needs:
+      - build-wheels
+    if: github.event_name == 'release' && github.event.action == 'published'
+    steps:
+      - name: Download dists
+        uses: actions/download-artifact@v3
+        with:
+          name: artifact
+          path: dist
+      - name: Publish
+        uses: pypa/gh-action-pypi-publish@release/v1
+        with:
+          password: ${{ secrets.PYPI_API_TOKEN }}