Merge branch 'develop' into ed25519
				
					
				
			This commit is contained in:
		
							
								
								
									
										40
									
								
								.github/workflows/release-edit-with-push.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								.github/workflows/release-edit-with-push.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
				
			|||||||
 | 
					name: "Release Manager: sync changelog with PR"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - release/**
 | 
				
			||||||
 | 
					    paths:
 | 
				
			||||||
 | 
					      - 'CHANGELOG.md'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					env:
 | 
				
			||||||
 | 
					  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					permissions:
 | 
				
			||||||
 | 
					  contents: write
 | 
				
			||||||
 | 
					  issues: write
 | 
				
			||||||
 | 
					  pull-requests: write
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  edit:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - uses: actions/checkout@v4
 | 
				
			||||||
 | 
					      # headがrelease/かつopenのPRを1つ取得
 | 
				
			||||||
 | 
					      - name: Get PR
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          echo "pr_number=$(gh pr list --limit 1 --head "${{ github.ref_name }}" --json number  --jq '.[] | .number')" >> $GITHUB_OUTPUT
 | 
				
			||||||
 | 
					        id: get_pr
 | 
				
			||||||
 | 
					      - name: Get target version
 | 
				
			||||||
 | 
					        uses: misskey-dev/release-manager-actions/.github/actions/get-target-version@v1
 | 
				
			||||||
 | 
					        id: v
 | 
				
			||||||
 | 
					      # CHANGELOG.mdの内容を取得
 | 
				
			||||||
 | 
					      - name: Get changelog
 | 
				
			||||||
 | 
					        uses: misskey-dev/release-manager-actions/.github/actions/get-changelog@v1
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          version: ${{ steps.v.outputs.target_version }}
 | 
				
			||||||
 | 
					        id: changelog
 | 
				
			||||||
 | 
					      # PRのnotesを更新
 | 
				
			||||||
 | 
					      - name: Update PR
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          gh pr edit ${{ steps.get_pr.outputs.pr_number }} --body "${{ steps.changelog.outputs.changelog }}"
 | 
				
			||||||
							
								
								
									
										122
									
								
								.github/workflows/release-with-dispatch.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								.github/workflows/release-with-dispatch.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,122 @@
 | 
				
			|||||||
 | 
					name: "Release Manager [Dispatch]"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  workflow_dispatch:
 | 
				
			||||||
 | 
					    inputs:
 | 
				
			||||||
 | 
					      ## Specify the type of the next release.
 | 
				
			||||||
 | 
					      #version_increment_type:
 | 
				
			||||||
 | 
					      #  type: choice
 | 
				
			||||||
 | 
					      #  description: 'VERSION INCREMENT TYPE'
 | 
				
			||||||
 | 
					      #  default: 'patch'
 | 
				
			||||||
 | 
					      #  required: false
 | 
				
			||||||
 | 
					      #  options:
 | 
				
			||||||
 | 
					      #    - 'major'
 | 
				
			||||||
 | 
					      #    - 'minor'
 | 
				
			||||||
 | 
					      #    - 'patch'
 | 
				
			||||||
 | 
					      merge:
 | 
				
			||||||
 | 
					        type: boolean
 | 
				
			||||||
 | 
					        description: 'MERGE RELEASE BRANCH TO MAIN'
 | 
				
			||||||
 | 
					        default: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					env:
 | 
				
			||||||
 | 
					  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					permissions:
 | 
				
			||||||
 | 
					  contents: write
 | 
				
			||||||
 | 
					  issues: write
 | 
				
			||||||
 | 
					  pull-requests: write
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  get-pr:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    outputs:
 | 
				
			||||||
 | 
					      pr_number: ${{ steps.get_pr.outputs.pr_number }}
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - uses: actions/checkout@v4
 | 
				
			||||||
 | 
					      # headがrelease/かつopenのPRを1つ取得
 | 
				
			||||||
 | 
					      - name: Get PRs
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          echo "pr_number=$(gh pr list --limit 1 --search "head:release/ is:open" --json number  --jq '.[] | .number')" >> $GITHUB_OUTPUT
 | 
				
			||||||
 | 
					        id: get_pr
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  merge:
 | 
				
			||||||
 | 
					    uses: misskey-dev/release-manager-actions/.github/workflows/merge.yml@v1
 | 
				
			||||||
 | 
					    needs: get-pr
 | 
				
			||||||
 | 
					    if: ${{ needs.get-pr.outputs.pr_number != '' && inputs.merge == true }}
 | 
				
			||||||
 | 
					    with:
 | 
				
			||||||
 | 
					      pr_number: ${{ needs.get-pr.outputs.pr_number }}
 | 
				
			||||||
 | 
					      package_jsons_to_rewrite: ${{ vars.PACKAGE_JSONS_TO_REWRITE }}
 | 
				
			||||||
 | 
					      # Text to prepend to the changelog
 | 
				
			||||||
 | 
					      # The first line must be `## Unreleased`
 | 
				
			||||||
 | 
					      changes_template: |
 | 
				
			||||||
 | 
					        ## Unreleased
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ### General
 | 
				
			||||||
 | 
					        -
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ### Client
 | 
				
			||||||
 | 
					        -
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ### Server
 | 
				
			||||||
 | 
					        -
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }}
 | 
				
			||||||
 | 
					    secrets:
 | 
				
			||||||
 | 
					      RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }}
 | 
				
			||||||
 | 
					      RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}
 | 
				
			||||||
 | 
					      RULESET_EDIT_APP_ID: ${{ secrets.RULESET_EDIT_APP_ID }}
 | 
				
			||||||
 | 
					      RULESET_EDIT_APP_PRIVATE_KEY: ${{ secrets.RULESET_EDIT_APP_PRIVATE_KEY }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  create-prerelease:
 | 
				
			||||||
 | 
					    uses: misskey-dev/release-manager-actions/.github/workflows/create-prerelease.yml@v1
 | 
				
			||||||
 | 
					    needs: get-pr
 | 
				
			||||||
 | 
					    if: ${{ needs.get-pr.outputs.pr_number != '' && inputs.merge != true  }}
 | 
				
			||||||
 | 
					    with:
 | 
				
			||||||
 | 
					      pr_number: ${{ needs.get-pr.outputs.pr_number }}
 | 
				
			||||||
 | 
					      package_jsons_to_rewrite: ${{ vars.PACKAGE_JSONS_TO_REWRITE }}
 | 
				
			||||||
 | 
					      use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }}
 | 
				
			||||||
 | 
					    secrets:
 | 
				
			||||||
 | 
					      RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }}
 | 
				
			||||||
 | 
					      RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  create-target:
 | 
				
			||||||
 | 
					    uses: misskey-dev/release-manager-actions/.github/workflows/create-target.yml@v1
 | 
				
			||||||
 | 
					    needs: get-pr
 | 
				
			||||||
 | 
					    if: ${{ needs.get-pr.outputs.pr_number == '' }}
 | 
				
			||||||
 | 
					    with:
 | 
				
			||||||
 | 
					      # The script for version increment.
 | 
				
			||||||
 | 
					      # process.env.CURRENT_VERSION: The current version.
 | 
				
			||||||
 | 
					      #
 | 
				
			||||||
 | 
					      # Misskey calender versioning (yyyy.MM.patch) example
 | 
				
			||||||
 | 
					      version_increment_script: |
 | 
				
			||||||
 | 
					        const now = new Date();
 | 
				
			||||||
 | 
					        const year = now.toLocaleDateString('en-US', { year: 'numeric', timeZone: 'Asia/Tokyo' });
 | 
				
			||||||
 | 
					        const month = now.toLocaleDateString('en-US', { month: 'numeric', timeZone: 'Asia/Tokyo' });
 | 
				
			||||||
 | 
					        const [major, minor, _patch] = process.env.CURRENT_VERSION.split('.');
 | 
				
			||||||
 | 
					        const patch = Number(_patch.split('-')[0]);
 | 
				
			||||||
 | 
					        if (Number.isNaN(patch)) {
 | 
				
			||||||
 | 
					          console.error('Invalid patch version', year, month, process.env.CURRENT_VERSION, major, minor, _patch);
 | 
				
			||||||
 | 
					          throw new Error('Invalid patch version');
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (year !== major || month !== minor) {
 | 
				
			||||||
 | 
					          return `${year}.${month}.0`;
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					          return `${major}.${minor}.${patch + 1}`;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ##Semver example
 | 
				
			||||||
 | 
					      #version_increment_script: |
 | 
				
			||||||
 | 
					      #  const [major, minor, patch] = process.env.CURRENT_VERSION.split('.');
 | 
				
			||||||
 | 
					      #  if ("${{ inputs.version_increment_type }}" === "major") {
 | 
				
			||||||
 | 
					      #    return `${Number(major) + 1}.0.0`;
 | 
				
			||||||
 | 
					      #  } else if ("${{ inputs.version_increment_type }}" === "minor") {
 | 
				
			||||||
 | 
					      #    return `${major}.${Number(minor) + 1}.0`;
 | 
				
			||||||
 | 
					      #  } else {
 | 
				
			||||||
 | 
					      #    return `${major}.${minor}.${Number(patch) + 1}`;
 | 
				
			||||||
 | 
					      #  }
 | 
				
			||||||
 | 
					      package_jsons_to_rewrite: ${{ vars.PACKAGE_JSONS_TO_REWRITE }}
 | 
				
			||||||
 | 
					      use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }}
 | 
				
			||||||
 | 
					    secrets:
 | 
				
			||||||
 | 
					      RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }}
 | 
				
			||||||
 | 
					      RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}
 | 
				
			||||||
 | 
					      RULESET_EDIT_APP_ID: ${{ secrets.RULESET_EDIT_APP_ID }}
 | 
				
			||||||
 | 
					      RULESET_EDIT_APP_PRIVATE_KEY: ${{ secrets.RULESET_EDIT_APP_PRIVATE_KEY }}
 | 
				
			||||||
							
								
								
									
										38
									
								
								.github/workflows/release-with-ready.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								.github/workflows/release-with-ready.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					name: "Release Manager: release RC when ready for review"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    types: [ready_for_review]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					env:
 | 
				
			||||||
 | 
					  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					permissions:
 | 
				
			||||||
 | 
					  contents: write
 | 
				
			||||||
 | 
					  issues: write
 | 
				
			||||||
 | 
					  pull-requests: write
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  check:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    outputs:
 | 
				
			||||||
 | 
					      ref: ${{ steps.get_pr.outputs.ref }}
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - uses: actions/checkout@v4
 | 
				
			||||||
 | 
					      # PR情報を取得
 | 
				
			||||||
 | 
					      - name: Get PR
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          pr_json=$(gh pr view ${{ github.event.pull_request.number }} --json isDraft,headRefName)
 | 
				
			||||||
 | 
					          echo "ref=$(echo $pr_json | jq -r '.headRefName')" >> $GITHUB_OUTPUT
 | 
				
			||||||
 | 
					        id: get_pr
 | 
				
			||||||
 | 
					  release:
 | 
				
			||||||
 | 
					    uses: misskey-dev/release-manager-actions/.github/workflows/create-prerelease.yml@v1
 | 
				
			||||||
 | 
					    needs: check
 | 
				
			||||||
 | 
					    if: startsWith(needs.check.outputs.ref, 'release/')
 | 
				
			||||||
 | 
					    with:
 | 
				
			||||||
 | 
					      pr_number: ${{ github.event.pull_request.number }}
 | 
				
			||||||
 | 
					      package_jsons_to_rewrite: ${{ vars.PACKAGE_JSONS_TO_REWRITE }}
 | 
				
			||||||
 | 
					      use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }}
 | 
				
			||||||
 | 
					    secrets:
 | 
				
			||||||
 | 
					      RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }}
 | 
				
			||||||
 | 
					      RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}
 | 
				
			||||||
@@ -1,5 +1,4 @@
 | 
				
			|||||||
<!--
 | 
					## Unreleased
 | 
				
			||||||
## 202x.x.x (unreleased)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### General
 | 
					### General
 | 
				
			||||||
-
 | 
					-
 | 
				
			||||||
@@ -10,8 +9,6 @@
 | 
				
			|||||||
### Server
 | 
					### Server
 | 
				
			||||||
-
 | 
					-
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## 2024.3.1
 | 
					## 2024.3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### General
 | 
					### General
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user