Selaa lähdekoodia

CI: add release pipeline

Mikael Koli 3 vuotta sitten
vanhempi
sitoutus
6ce648f318
1 muutettua tiedostoa jossa 48 lisäystä ja 0 poistoa
  1. 48 0
      .github/workflows/release.yml

+ 48 - 0
.github/workflows/release.yml

@@ -0,0 +1,48 @@
+name: Publish
+# (tagged versions to PyPI, commits to TestPyPI)
+
+on:
+  # Triggers the workflow on push events but only for the master branch
+  push:
+    branches: master
+    tags:        
+      - '*'
+
+jobs:
+  build-n-publish:
+    name: Build and publish Python distributions to PyPI and TestPyPI
+    runs-on: ubuntu-latest
+    
+    steps:
+    - uses: actions/checkout@master
+      with:
+        fetch-depth: 0
+    - name: Set up Python 3.10
+      uses: actions/setup-python@v3
+      with:
+        python-version: "3.10"
+    - name: Install pypa/build
+      run: >-
+        python -m
+        pip install
+        build
+        --user
+    - name: Build a binary wheel and a source tarball
+      run: >-
+        python -m
+        build
+        --sdist
+        --wheel
+        --outdir dist/
+        .
+    - name: Publish distribution to Test PyPI
+      uses: pypa/gh-action-pypi-publish@release/v1
+      with:
+        password: ${{ secrets.TEST_PYPI_API_TOKEN }}
+        repository_url: https://test.pypi.org/legacy/
+        skip_existing: true
+    - name: Publish distribution to PyPI
+      if: startsWith(github.ref, 'refs/tags')
+      uses: pypa/gh-action-pypi-publish@release/v1
+      with:
+        password: ${{ secrets.PYPI_API_TOKEN }}