-
-
Notifications
You must be signed in to change notification settings - Fork 463
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into docs/sphinx-warns-and-errors
- Loading branch information
Showing
25 changed files
with
168 additions
and
158 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
name: "Read The Docs Localization" | ||
|
||
on: | ||
push: | ||
branches: [master] | ||
paths: | ||
- "discord/**" | ||
- "docs/**" | ||
workflow_dispatch: | ||
schedule: | ||
- cron: "0 0 * * 1" | ||
|
||
permissions: write-all | ||
|
||
jobs: | ||
localization_builds: | ||
runs-on: ubuntu-latest | ||
environment: documentation | ||
strategy: | ||
matrix: | ||
rdt_projects: [ | ||
"pycord-spanish", | ||
"pycord-japanese", | ||
"pycord-brazilian", | ||
"pycord-russian", | ||
"pycord-german", | ||
"pycord-hindi", | ||
"pycord-korean", | ||
"pycord-italian", | ||
"pycord-chinese", | ||
"pycord-french" | ||
] | ||
steps: | ||
- name: "Trigger RDT ${{ matrix.rdt_projects }}" | ||
run: | | ||
PROJECT=${{ matrix.rdt_projects }} | ||
curl --location --request POST "https://readthedocs.org/api/v3/projects/$PROJECT/versions/master/builds/" \ | ||
--header 'Content-Type: application/json' \ | ||
--header "Authorization: Token ${{ secrets.READTHEDOCS_TOKEN }}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,7 +16,7 @@ jobs: | |
environment: release | ||
steps: | ||
- name: "Security Check" | ||
uses: pycord-development/[email protected].5 | ||
uses: Aiko-IT-Systems/[email protected].0 | ||
with: | ||
whitelisted-github-ids: ${{ vars.ALLOWED_USER_IDS }} | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
|
@@ -25,19 +25,23 @@ jobs: | |
needs: [safety_check] | ||
outputs: | ||
branch_name: ${{ steps.determine_vars.outputs.branch_name }} | ||
is_rc: ${{ steps.determine_vars.outputs.version }} | ||
version: ${{ steps.determine_vars.outputs.is_rc }} | ||
is_rc: ${{ steps.determine_vars.outputs.is_rc }} | ||
version: ${{ steps.determine_vars.outputs.version }} | ||
previous_tag: ${{ steps.determine_vars.outputs.previous_tag }} | ||
runs-on: ububtu-latest | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: "Checkout Repository" | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
fetch-tags: true | ||
|
||
- name: "Determine Push Branch" | ||
id: determine_vars | ||
env: | ||
VERSION: ${{ github.event.inputs.version }} | ||
run: | | ||
VERSION=${{ github.event.inputs.version }} | ||
echo "version=${VERSION}" >> $GITHUB_OUTPUT | ||
echo "version=$VERSION" >> $GITHUB_OUTPUT | ||
PREVIOUS_TAG=$(git describe --tags --abbrev=0 HEAD^) | ||
echo "previous_tag=${PREVIOUS_TAG}" >> $GITHUB_OUTPUT | ||
if [[ $VERSION =~ -rc ]]; then | ||
|
@@ -63,79 +67,27 @@ jobs: | |
steps: | ||
- name: "Checkout Repository" | ||
uses: actions/checkout@v4 | ||
|
||
- name: "Setup Python" | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.12" | ||
cache: "pip" | ||
cache-dependency-path: "requirements/_release.txt" | ||
|
||
- name: "Install Release Dependencies" | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install -r requirements/_release.txt | ||
- name: "Prepare and Update CHANGELOG.md" | ||
run: | | ||
VERSION=${{ needs.pre_config.outputs.version }} | ||
DATE=$(date +'%Y-%m-%d') | ||
sed -i "s/## \[Unreleased\]/## [$VERSION] - $DATE/" CHANGELOG.md | ||
sed -i "0,/## \[$VERSION\]/ s|## \[$VERSION\]|## [Unreleased]\n\n### Added\n\n### Changed\n\n### Fixed\n\n### Removed\n\n$&|" CHANGELOG.md | ||
sed -i "s|\[Unreleased\]:.*|[Unreleased]: https://github.com/Pycord-Development/pycord/compare/v$VERSION...HEAD\n[$VERSION]: https://github.com/Pycord-Development/pycord/compare/v$(git describe --tags --abbrev=0 @^)...v$VERSION|" CHANGELOG.md | ||
echo "[Unreleased]: https://github.com/Pycord-Development/pycord/compare/v$VERSION...HEAD" >> CHANGELOG.md | ||
git add CHANGELOG.md | ||
git commit -m "chore(release): update CHANGELOG for version $VERSION" | ||
- name: "Commit and Push Changelog to Master" | ||
run: | | ||
git config user.name "GitHub Actions" | ||
git config user.email "[email protected]" | ||
git add CHANGELOG.md | ||
git commit -m "chore(release): update CHANGELOG for version ${{ needs.pre_config.outputs.version }}" | ||
git push origin HEAD:master | ||
- name: "Push Changelog to Version Branch" | ||
run: | | ||
git push origin HEAD:${{ needs.pre_config.outputs.branch_name }} | ||
- name: "Create Git Tag" | ||
run: | | ||
git config user.name "GitHub Actions" | ||
git config user.email "[email protected]" | ||
VERSION=${{ needs.pre_config.outputs.version }} | ||
git tag -s v$VERSION -m "Release version $VERSION" | ||
git push origin v$VERSION | ||
- name: "Verify Version" | ||
run: python -m setuptools_scm | ||
|
||
- name: "Build Package" | ||
run: | | ||
python3 -m build --sdist | ||
python3 -m build --wheel | ||
fetch-depth: 0 | ||
fetch-tags: true | ||
|
||
- name: "Create GitHub Release" | ||
uses: softprops/[email protected] | ||
- name: "Release Pycord" | ||
id: pycord-release | ||
uses: Aiko-IT-Systems/[email protected] | ||
with: | ||
tag_name: "v${{ needs.pre_config.outputs.version }}" | ||
name: "v${{ needs.pre_config.outputs.version }}" | ||
generate_release_notes: true | ||
draft: false | ||
prerelease: ${{ needs.pre_config.outputs.is_rc == 'true' }} | ||
files: | | ||
dist/*.whl | ||
dist/*.tar.gz | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
make_latest: true | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
pypi-token: ${{ secrets.PYPI_TOKEN }} | ||
version-branch-name: ${{ needs.pre_config.outputs.branch_name }} | ||
ref: ${{ github.ref_name }} | ||
repository: ${{ github.repository }} | ||
python-version: "3.12" | ||
release-requirements: "requirements/_release.txt" | ||
version: ${{ needs.pre_config.outputs.version }} | ||
is-rc: ${{ needs.pre_config.outputs.is_rc }} | ||
pypi-package: "py-cord" | ||
|
||
- name: "Publish package distributions to PyPI" | ||
uses: pypa/[email protected] | ||
env: | ||
name: pypi | ||
url: https://pypi.org/p/pycord | ||
with: | ||
password: ${{ secrets.PYPI_TOKEN }} | ||
- name: "Echo release url" | ||
run: echo "${{ steps.pycord-release.outputs.gh-release }}" | ||
|
||
docs_release: | ||
runs-on: ubuntu-latest | ||
|
@@ -167,44 +119,6 @@ jobs: | |
"hidden": false | ||
}' | ||
determine_milestone_id: | ||
runs-on: ubuntu-latest | ||
needs: [lib_release,docs_release,pre_config] | ||
if: ${{ !contains(needs.pre_config.outputs.version, '-') && endsWith(needs.pre_config.outputs.version, '.0') }} | ||
outputs: | ||
milestone_version: ${{ steps.extract_version.outputs.milestone_version }} | ||
environment: release | ||
steps: | ||
- name: "Extract Milestone Version" | ||
id: extract_version | ||
run: | | ||
VERSION=${{ needs.pre_config.outputs.version }} | ||
MILESTONE_VERSION=$(echo $VERSION | grep -oE '^[0-9]+\.[0-9]+') | ||
echo "milestone_version=$MILESTONE_VERSION" >> $GITHUB_OUTPUT | ||
close_milestone: | ||
runs-on: ubuntu-latest | ||
needs: [determine_milestone_id,pre_config] | ||
if: ${{ !contains(needs.pre_config.outputs.version, '-') && endsWith(needs.pre_config.outputs.version, '.0') }} | ||
environment: release | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
steps: | ||
- name: "Close Milestone" | ||
run: gh milestone edit "v${{ needs.determine_milestone_id.outputs.milestone_version }}" --state closed | ||
|
||
- name: "Create New Milestone" | ||
run: | | ||
NEW_MILESTONE_VERSION=$(echo ${{ needs.determine_milestone_id.outputs.milestone_version }} | awk -F. '{print $1"."$2+1}') | ||
gh milestone create "v${NEW_MILESTONE_VERSION}" | ||
- name: "Move Open Issues and PRs" | ||
run: | | ||
gh issue list --milestone "v${{ needs.determine_milestone_id.outputs.milestone_version }}" --state open | while read issue | ||
do | ||
gh issue edit $issue --milestone "v${NEW_MILESTONE_VERSION}" | ||
done | ||
inform_discord: | ||
runs-on: ubuntu-latest | ||
needs: [lib_release,docs_release,close_milestone,pre_config] | ||
|
@@ -227,3 +141,49 @@ jobs: | |
-X POST \ | ||
-d "{\"content\":\"$ANNOUNCEMENT\"}" \ | ||
${{ secrets.DISCORD_WEBHOOK_URL }} | ||
determine_milestone_id: | ||
runs-on: ubuntu-latest | ||
needs: [lib_release,pre_config] | ||
if: ${{ !contains(needs.pre_config.outputs.version, '-') && endsWith(needs.pre_config.outputs.version, '.0') }} | ||
outputs: | ||
old_milestone_version: ${{ steps.extract_version.outputs.old_milestone_version }} | ||
new_milestone_version: ${{ steps.extract_version.outputs.new_milestone_version }} | ||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
environment: release | ||
steps: | ||
- name: "Extract Milestone Version" | ||
id: extract_version | ||
run: | | ||
gh extension install valeriobelli/gh-milestone | ||
VERSION=${{ needs.pre_config.outputs.version }} | ||
OLD_MILESTONE_VERSION=$(gh milestone list --query "v2.7" | grep "#" | awk '{print $2}') | ||
NEW_MILESTONE_VERSION="v$(echo $VERSION | grep -oE '^[0-9]+\.[0-9]+')" | ||
echo "old_milestone_version=$OLD_MILESTONE_VERSION" >> $GITHUB_OUTPUT | ||
echo "new_milestone_version=$NEW_MILESTONE_VERSION" >> $GITHUB_OUTPUT | ||
close_milestone: | ||
runs-on: ubuntu-latest | ||
needs: [determine_milestone_id,pre_config] | ||
if: ${{ !contains(needs.pre_config.outputs.version, '-') && endsWith(needs.pre_config.outputs.version, '.0') }} | ||
environment: release | ||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
steps: | ||
- name: "Checkout Repository" | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
fetch-tags: true | ||
|
||
- name: "Close Milestone" | ||
run: | | ||
gh extension install valeriobelli/gh-milestone | ||
OLD_MILESTONE_ID=$(gh milestone list --query "${{ needs.determine_milestone_id.outputs.old_milestone_version }}" | grep "#" | cut -d' ' -f2 | cut -d '#' -f2) | ||
gh milestone edit $OLD_MILESTONE_ID --state closed | ||
- name: "Create New Milestone" | ||
run: | | ||
gh extension install valeriobelli/gh-milestone | ||
gh milestone create "${{ needs.determine_milestone_id.outputs.new_milestone_version }}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.