aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/changelog.yml47
-rw-r--r--.github/workflows/release.yml146
2 files changed, 164 insertions, 29 deletions
diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml
new file mode 100644
index 0000000..e89687a
--- /dev/null
+++ b/.github/workflows/changelog.yml
@@ -0,0 +1,47 @@
+name: CHANGELOG
+
+on:
+ push:
+ tags:
+ - "v*"
+ # - v[0-9]+.[0-9]+.[0-9]+
+ workflow_dispatch:
+
+jobs:
+ deploy:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ pull-requests: write
+ id-token: write
+ steps:
+ - name: Checkout Code
+ uses: actions/checkout@v4
+
+ - name: Update CHANGELOG
+ id: changelog
+ uses: requarks/changelog-action@v1
+ with:
+ token: ${{ github.token }}
+ tag: ${{ github.ref_name }}
+ includeInvalidCommits: true
+ changelogFilePath: CHANGELOG.md
+ writeToFile: true
+ useGitmojis: false
+
+ - name: Create Release
+ uses: ncipollo/release-action@v1.14.0
+ with:
+ allowUpdates: true
+ draft: false
+ makeLatest: true
+ name: ${{ github.ref_name }}
+ body: ${{ steps.changelog.outputs.changes }}
+ token: ${{ github.token }}
+
+ - name: Commit CHANGELOG.md
+ uses: stefanzweifel/git-auto-commit-action@v5
+ with:
+ branch: main
+ commit_message: 'docs: update CHANGELOG.md for ${{ github.ref_name }} [skip ci]'
+ file_pattern: CHANGELOG.md
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 54eeb31..4ebdf64 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,29 +1,117 @@
-name: Release
-
-on:
- push:
- tags:
- - "v*"
- workflow_dispatch:
-
-jobs:
- build:
- runs-on: ubuntu-latest
- env:
- PDM_PUBLISH_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
- PDM_PUBLISH_USERNAME: ${{ secrets.PYPI_USERNAME }}
- steps:
- - uses: actions/checkout@v3
-
- - name: Install pdm
- run: pipx install pdm
- shell: bash
- - uses: actions/setup-python@v4
- with:
- python-version: "3.9"
- architecture: "x64"
- - run: pdm install
- shell: bash
-
- - run: pdm publish
- shell: bash \ No newline at end of file
+# This file is autogenerated by maturin v1.4.0
+# To update, run
+#
+# maturin generate-ci github
+#
+name: Release
+
+on:
+ push:
+ branches:
+ - main
+ tags:
+ - 'v*'
+ pull_request:
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+jobs:
+ linux:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ target: [x86_64, x86, aarch64, armv7, s390x, ppc64le]
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
+ with:
+ python-version: '3.10'
+ - name: Build wheels
+ uses: PyO3/maturin-action@v1
+ with:
+ target: ${{ matrix.target }}
+ args: --release --out dist --find-interpreter
+ sccache: 'true'
+ manylinux: auto
+ - name: Upload wheels
+ uses: actions/upload-artifact@v3
+ with:
+ name: wheels
+ path: dist
+
+ windows:
+ runs-on: windows-latest
+ strategy:
+ matrix:
+ target: [x64, x86]
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
+ with:
+ python-version: '3.10'
+ architecture: ${{ matrix.target }}
+ - name: Build wheels
+ uses: PyO3/maturin-action@v1
+ with:
+ target: ${{ matrix.target }}
+ args: --release --out dist --find-interpreter
+ sccache: 'true'
+ - name: Upload wheels
+ uses: actions/upload-artifact@v3
+ with:
+ name: wheels
+ path: dist
+
+ macos:
+ runs-on: macos-latest
+ strategy:
+ matrix:
+ target: [x86_64, aarch64]
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
+ with:
+ python-version: '3.10'
+ - name: Build wheels
+ uses: PyO3/maturin-action@v1
+ with:
+ target: ${{ matrix.target }}
+ args: --release --out dist --find-interpreter
+ sccache: 'true'
+ - name: Upload wheels
+ uses: actions/upload-artifact@v3
+ with:
+ name: wheels
+ path: dist
+
+ sdist:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: Build sdist
+ uses: PyO3/maturin-action@v1
+ with:
+ command: sdist
+ args: --out dist
+ - name: Upload sdist
+ uses: actions/upload-artifact@v3
+ with:
+ name: wheels
+ path: dist
+
+ release:
+ name: Release
+ runs-on: ubuntu-latest
+ if: "startsWith(github.ref, 'refs/tags/')"
+ needs: [linux, windows, macos, sdist]
+ steps:
+ - uses: actions/download-artifact@v3
+ with:
+ name: wheels
+ - name: Publish to PyPI
+ uses: PyO3/maturin-action@v1
+ with:
+ command: upload
+ args: --non-interactive --skip-existing *