Prepare Release #26
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
name: Prepare Release | |
on: | |
workflow_dispatch: | |
inputs: | |
new_stable_version: | |
description: Version number for the new stable release (leave empty to just strip `.dev1`) | |
required: false | |
default: 'auto' | |
permissions: | |
contents: write | |
pull-requests: write | |
jobs: | |
crowdin_download_translations: | |
needs: pr_stable_bump | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.8' | |
- name: Install dependencies | |
run: | | |
curl https://artifacts.crowdin.com/repo/GPG-KEY-crowdin | sudo apt-key add - | |
echo "deb https://artifacts.crowdin.com/repo/deb/ /" | sudo tee -a /etc/apt/sources.list | |
sudo apt-get update -qq | |
sudo apt-get install -y crowdin3 | |
pip install redgettext==3.4.2 | |
- name: Generate source files | |
run: | | |
make gettext | |
- name: Download translations | |
run: | | |
make download_translations | |
env: | |
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} | |
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_IDENTIFIER }} | |
- name: Create Pull Request | |
id: cpr_crowdin | |
uses: peter-evans/create-pull-request@v4 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
commit-message: Automated Crowdin downstream | |
title: "Automated Crowdin downstream" | |
body: | | |
This is an automated PR that is part of Prepare Release automated workflow (2 out of 2). | |
Please ensure that there are no errors or invalid files are in the PR. | |
labels: "Automated PR, Changelog Entry: Skipped" | |
branch: "automated/i18n" | |
author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | |
milestone: ${{ needs.pr_stable_bump.outputs.milestone_number }} | |
- name: Close and reopen the PR with different token to trigger CI | |
uses: actions/github-script@v6 | |
env: | |
PR_NUMBER: ${{ steps.cpr_crowdin.outputs.pull-request-number }} | |
PR_OPERATION: ${{ steps.cpr_crowdin.outputs.pull-request-operation }} | |
with: | |
github-token: ${{ secrets.cogcreators_bot_repo_scoped }} | |
script: | | |
const script = require( | |
`${process.env.GITHUB_WORKSPACE}/.github/workflows/scripts/close_and_reopen_pr.js` | |
); | |
console.log(script({github, context})); | |
pr_stable_bump: | |
runs-on: ubuntu-latest | |
outputs: | |
milestone_number: ${{ steps.get_milestone_number.outputs.result }} | |
steps: | |
# Checkout repository and install Python | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.8' | |
# Create PR for stable version bump | |
- name: Update Red version number from input | |
id: bump_version_stable | |
run: | | |
python .github/workflows/scripts/bump_version.py | |
env: | |
PYTHONPATH: ${{ github.workspace }}:${{ env.PYTHONPATH }} | |
NEW_STABLE_VERSION: ${{ github.event.inputs.new_stable_version }} | |
# Get milestone number of the milestone for the new stable version | |
- name: Get milestone number | |
id: get_milestone_number | |
uses: actions/github-script@v6 | |
env: | |
MILESTONE_TITLE: ${{ steps.bump_version_stable.outputs.new_version }} | |
with: | |
script: | | |
const script = require( | |
`${process.env.GITHUB_WORKSPACE}/.github/workflows/scripts/get_milestone_number_by_exact_title.js` | |
); | |
return await script({github, context}); | |
- name: Create Pull Request | |
id: cpr_bump_stable | |
uses: peter-evans/create-pull-request@v4 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
commit-message: Version bump to ${{ steps.bump_version_stable.outputs.new_version }} | |
title: Version bump to ${{ steps.bump_version_stable.outputs.new_version }} | |
body: | | |
This is an automated PR that is part of Prepare Release automated workflow (1 out of 2). | |
Please ensure that there are no errors or invalid files are in the PR. | |
labels: "Automated PR, Changelog Entry: Skipped" | |
branch: "automated/pr_bumps/${{ steps.bump_version_stable.outputs.new_version }}" | |
author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | |
milestone: ${{ steps.get_milestone_number.outputs.result }} | |
- name: Close and reopen the PR with different token to trigger CI | |
uses: actions/github-script@v6 | |
env: | |
PR_NUMBER: ${{ steps.cpr_bump_stable.outputs.pull-request-number }} | |
PR_OPERATION: ${{ steps.cpr_bump_stable.outputs.pull-request-operation }} | |
with: | |
github-token: ${{ secrets.cogcreators_bot_repo_scoped }} | |
script: | | |
const script = require( | |
`${process.env.GITHUB_WORKSPACE}/.github/workflows/scripts/close_and_reopen_pr.js` | |
); | |
console.log(await script({github, context})); |