diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..49133f4 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: https://wu-clan.github.io/sponsor/ diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index 8c54157..fd184cd 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -1,27 +1,36 @@ name: Change Logs on: - pull_request_target: - branches: - - master - types: - - closed - # For manually triggering it - workflow_dispatch: - inputs: - number: - description: PR number - required: true + release: + types: [ released ] jobs: latest-changes: runs-on: ubuntu-latest + permissions: + contents: write + steps: - - uses: actions/checkout@v4 + - name: Checkout code + uses: actions/checkout@v4 with: - token: ${{ secrets.GH_TOKEN }} - - uses: docker://tiangolo/latest-changes:0.3.0 + fetch-depth: 0 + ref: ${{ github.event.release.target_commitish }} + + - name: Extract release date from git tag + run: | + echo "date=$(git log -1 --date=short --format=%ad '${{ github.event.release.tag_name }}')" >> $GITHUB_OUTPUT; + + - name: Update Changelog + uses: stefanzweifel/changelog-updater-action@v1 + with: + latest-version: ${{ github.event.release.tag_name }} + release-notes: ${{ github.event.release.body }} + path-to-changelog: docs/changelog.md + + - name: Commit updated CHANGELOG + uses: stefanzweifel/git-auto-commit-action@v5 with: - token: ${{ secrets.GH_TOKEN }} - latest_changes_file: docs/changelog.md - latest_changes_header: '# Change Logs' + branch: ${{ github.event.release.target_commitish }} + commit_message: 📝 Update release notes + file_pattern: docs/changelog.md diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index e844da3..d33ddc9 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -19,7 +19,7 @@ jobs: with: python-version: 3.x - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV - - uses: actions/cache@v4 + - uses: actions/cache@v4FUNDING.yml with: key: mkdocs-material-${{ env.cache_id }} path: .cache diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..3d8a0d9 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,29 @@ +name: ci + +on: + push: + branches: + - master + pull_request: + +jobs: + lint: + runs-on: ubuntu-latest + name: lint ${{ matrix.python-version }} + strategy: + matrix: + python-version: [ '3.10', '3.11', '3.12' ] + fail-fast: false + steps: + - uses: actions/checkout@v4 + + - name: Setup pdm + uses: pdm-project/setup-pdm@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: pdm install -G lint + + - name: Run lint + run: pdm lint diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..cf726e5 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,29 @@ +name: ci + +on: + push: + branches: + - master + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + name: test ${{ matrix.python-version }} + strategy: + matrix: + python-version: [ '3.10', '3.11', '3.12' ] + fail-fast: false + steps: + - uses: actions/checkout@v4 + + - name: Setup pdm + uses: pdm-project/setup-pdm@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: pdm install -G test + + - name: Run test + run: pdm run -v pytest