aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/pages.yml20
-rw-r--r--.github/workflows/python-publish.yml79
2 files changed, 83 insertions, 16 deletions
diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
index ea8fddf0..6178331b 100644
--- a/.github/workflows/pages.yml
+++ b/.github/workflows/pages.yml
@@ -2,8 +2,13 @@ name: build Pages
on:
push:
branches:
- - master
+ - master
- main
+ paths:
+ - "*.md"
+ - docs/**
+ - .github/workflows/pages.yml
+
permissions:
contents: write
jobs:
@@ -14,7 +19,7 @@ jobs:
- uses: actions/setup-python@v4
with:
python-version: 3.x
- - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
+ - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v3
with:
key: mkdocs-material-${{ env.cache_id }}
@@ -23,4 +28,13 @@ jobs:
mkdocs-material-
- run: |
pip install -r requirements.txt
- mkdocs gh-deploy --force
+ pip install pdm
+ pdm install -G doc
+
+ - name: Build Documentation
+ run: |
+ git config --local user.email "action@github.com"
+ git config --local user.name "GitHub Action"
+ git fetch origin gh-pages:gh-pages
+ cd docs && pdm run mike deploy --update-aliases dev
+ git push origin gh-pages
diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml
index 998fb663..d8d4729b 100644
--- a/.github/workflows/python-publish.yml
+++ b/.github/workflows/python-publish.yml
@@ -1,28 +1,81 @@
on:
push:
tags:
- - "v*"
+ - "*"
workflow_dispatch:
jobs:
- build:
+ release-pypi:
+ name: release-pypi
runs-on: ubuntu-latest
+ permissions:
+ id-token: write
+ contents: write
steps:
- - uses: actions/checkout@v4
- - name: Install poetry
- run: |
- pipx install pdm
- shell: bash
+ - uses: actions/checkout@v3
+
- uses: actions/setup-python@v4
with:
- python-version: "3.9"
- architecture: "x64"
- - run: |
- pdm install
- shell: bash
+ python-version: "3.11"
+
+ - name: Check prerelease
+ id: check_version
+ run: |
+ if [[ "${{ github.ref }}" =~ ^refs/tags/[0-9.]+$ ]]; then
+ echo "PRERELEASE=false" >> $GITHUB_OUTPUT
+ else
+ echo "PRERELEASE=true" >> $GITHUB_OUTPUT
+ fi
+
+ - name: Build artifacts
+ run: |
+ python -m pip install build
+ python -m build
+
+ - name: Test Build
+ run: |
+ python -m pip install dist/*.whl
+ pdm --help
+
+ - name: Build Release Docs
+ run: |
+ pdm install -G doc
+ git config --local user.email "action@github.com"
+ git config --local user.name "GitHub Action"
+ git fetch origin gh-pages:gh-pages
+ tag="${{ github.ref_name }}"
+ DOC_VERSION=${tag%.*}
+ cd docs
+ pdm run mike deploy --no-redirect --update-aliases "$DOC_VERSION" latest
+ git push origin gh-pages
+
- run: pdm publish
shell: bash
env:
PDM_PUBLISH_PASSWORD: ${{ secrets.PDM_PUBLISH_PASSWORD }}
- PDM_PUBLISH_USERNAME: ${{ secrets.PDM_PUBLISH_USERNAME }} \ No newline at end of file
+ PDM_PUBLISH_USERNAME: ${{ secrets.PDM_PUBLISH_USERNAME }}
+
+ - name: Get Changelog
+ id: get-changelog
+ run: |
+ awk '/-{3,}/{flag=1;next}/Release/{if (flag==1)exit}flag' CHANGELOG.md > .changelog.md
+
+ - name: Create Release
+ uses: actions/create-release@main
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ tag_name: ${{ github.ref }}
+ release_name: v${{ github.ref }}
+ body_path: .changelog.md
+ draft: false
+ prerelease: ${{ steps.check_version.outputs.PRERELEASE }}
+
+ - name: Trigger Bucket Update
+ uses: benc-uk/workflow-dispatch@v1
+ with:
+ workflow: Excavator
+ repo: frostming/scoop-frostming
+ token: ${{ secrets.G_T }}
+ ref: master \ No newline at end of file