summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2024-06-01 11:27:03 +0900
committerGitHub <noreply@github.com>2024-06-01 11:27:03 +0900
commitfce66b85b603caac79e1bfa87b5f4621b1ba9d4e (patch)
treed22952ee3f8e30057977a99a33823f4d52990fbc /.github/workflows
parentMerge pull request #13493 from misskey-dev/develop (diff)
parentfix(backend): use insertOne insteadof insert/findOneOrFail combination (#13908) (diff)
downloadsharkey-fce66b85b603caac79e1bfa87b5f4621b1ba9d4e.tar.gz
sharkey-fce66b85b603caac79e1bfa87b5f4621b1ba9d4e.tar.bz2
sharkey-fce66b85b603caac79e1bfa87b5f4621b1ba9d4e.zip
Merge pull request #13917 from misskey-dev/develop
Release 2024.5.0 (master)
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/check-misskey-js-autogen.yml145
-rw-r--r--.github/workflows/check-spdx-license-id.yml75
-rw-r--r--.github/workflows/deploy-test-environment.yml7
-rw-r--r--.github/workflows/get-api-diff.yml7
-rw-r--r--.github/workflows/lint.yml17
-rw-r--r--.github/workflows/locale.yml27
-rw-r--r--.github/workflows/on-release-created.yml7
-rw-r--r--.github/workflows/release-edit-with-push.yml43
-rw-r--r--.github/workflows/release-with-dispatch.yml125
-rw-r--r--.github/workflows/release-with-ready.yml41
-rw-r--r--.github/workflows/storybook.yml12
-rw-r--r--.github/workflows/test-backend.yml16
-rw-r--r--.github/workflows/test-frontend.yml14
-rw-r--r--.github/workflows/test-misskey-js.yml2
-rw-r--r--.github/workflows/test-production.yml7
-rw-r--r--.github/workflows/validate-api-json.yml7
16 files changed, 413 insertions, 139 deletions
diff --git a/.github/workflows/check-misskey-js-autogen.yml b/.github/workflows/check-misskey-js-autogen.yml
index 8fad129115..39acad8bc3 100644
--- a/.github/workflows/check-misskey-js-autogen.yml
+++ b/.github/workflows/check-misskey-js-autogen.yml
@@ -5,29 +5,26 @@ on:
branches:
- master
- develop
+ - improve-misskey-js-autogen-check
paths:
- packages/backend/**
jobs:
- check-misskey-js-autogen:
+ # pull_request_target safety: permissions: read-all, and there are no secrets used in this job
+ generate-misskey-js:
runs-on: ubuntu-latest
permissions:
- pull-requests: write
-
- env:
- api_json_name: "api-head.json"
-
+ contents: read
+ if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
steps:
- name: checkout
uses: actions/checkout@v4.1.1
with:
submodules: true
- ref: ${{ github.event.pull_request.head.sha }}
+ ref: refs/pull/${{ github.event.pull_request.number }}/merge
- name: setup pnpm
- uses: pnpm/action-setup@v3
- with:
- version: 8
+ uses: pnpm/action-setup@v4
- name: setup node
id: setup-node
@@ -39,79 +36,81 @@ jobs:
- name: install dependencies
run: pnpm i --frozen-lockfile
- - name: wait get-api-diff
- uses: lewagon/wait-on-check-action@v1.3.3
- with:
- ref: ${{ github.event.pull_request.head.sha }}
- check-regexp: get-from-misskey .+
- repo-token: ${{ secrets.GITHUB_TOKEN }}
- wait-interval: 30
-
- - name: Download artifact
- uses: actions/github-script@v7.0.1
- with:
- script: |
- const fs = require('fs');
-
- const workflows = await github.rest.actions.listWorkflowRunsForRepo({
- owner: context.repo.owner,
- repo: context.repo.repo,
- head_sha: `${{ github.event.pull_request.head.sha }}`
- }).then(x => x.data.workflow_runs);
+ # generate api.json
+ - name: Copy Config
+ run: cp .config/example.yml .config/default.yml
+ - name: Build
+ run: pnpm build
+ - name: Generate API JSON
+ run: pnpm --filter backend generate-api-json
- console.log(workflows.map(x => ({name: x.name, title: x.display_title})));
-
- const run_id = workflows.find(x => x.name.includes("Get api.json from Misskey")).id;
-
- let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
- owner: context.repo.owner,
- repo: context.repo.repo,
- run_id: run_id,
- });
+ # build misskey js
+ - name: Build misskey-js
+ run: |-
+ cp packages/backend/built/api.json packages/misskey-js/generator/api.json
+ pnpm run --filter misskey-js-type-generator generate
- let matchArtifacts = allArtifacts.data.artifacts.filter((artifact) => {
- return artifact.name.startsWith("api-artifact-") || artifact.name == "api-artifact"
- });
+ # packages/misskey-js/generator/built/autogen
+ - name: Upload Generated
+ uses: actions/upload-artifact@v4
+ with:
+ name: generated-misskey-js
+ path: packages/misskey-js/generator/built/autogen
- await Promise.all(matchArtifacts.map(async (artifact) => {
- let download = await github.rest.actions.downloadArtifact({
- owner: context.repo.owner,
- repo: context.repo.repo,
- artifact_id: artifact.id,
- archive_format: 'zip',
- });
- await fs.promises.writeFile(`${process.env.GITHUB_WORKSPACE}/${artifact.name}.zip`, Buffer.from(download.data));
- }));
+ # pull_request_target safety: permissions: read-all, and there are no secrets used in this job
+ get-actual-misskey-js:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4.1.1
+ with:
+ submodules: true
+ ref: refs/pull/${{ github.event.pull_request.number }}/merge
- - name: unzip artifacts
- run: |-
- find . -mindepth 1 -maxdepth 1 -type f -name '*.zip' -exec unzip {} -d . ';'
- ls -la
+ - name: Upload From Merged
+ uses: actions/upload-artifact@v4
+ with:
+ name: actual-misskey-js
+ path: packages/misskey-js/src/autogen
- - name: get head checksum
- run: |-
- checksum=$(realpath head_checksum)
+ # pull_request_target safety: nothing is cloned from repository
+ comment-misskey-js-autogen:
+ runs-on: ubuntu-latest
+ needs: [generate-misskey-js, get-actual-misskey-js]
+ permissions:
+ pull-requests: write
+ steps:
+ - name: download generated-misskey-js
+ uses: actions/download-artifact@v4
+ with:
+ name: generated-misskey-js
+ path: misskey-js-generated
- cd packages/misskey-js/src
- find autogen -type f -exec sh -c 'echo $(sed -E "s/^\s+\*\s+generatedAt:.+$//" {} | sha256sum | cut -d" " -f 1) {}' \; > $checksum
- cd ../../..
+ - name: download actual-misskey-js
+ uses: actions/download-artifact@v4
+ with:
+ name: actual-misskey-js
+ path: misskey-js-actual
- - name: build autogen
- run: |-
- checksum=$(realpath ${api_json_name}_checksum)
- mv $api_json_name packages/misskey-js/generator/api.json
+ - name: check misskey-js changes
+ id: check-changes
+ run: |
+ diff -r -u --label=generated --label=on-tree ./misskey-js-generated ./misskey-js-actual > misskey-js.diff || true
- cd packages/misskey-js/generator
- pnpm run generate
- cd built
- find autogen -type f -exec sh -c 'echo $(sed -E "s/^\s+\*\s+generatedAt:.+$//" {} | sha256sum | cut -d" " -f 1) {}' \; > $checksum
- cd ../../../..
+ if [ -s misskey-js.diff ]; then
+ echo "changes=true" >> $GITHUB_OUTPUT
+ else
+ echo "changes=false" >> $GITHUB_OUTPUT
+ fi
- - name: check update for type definitions
- run: diff head_checksum ${api_json_name}_checksum
+ - name: Print full diff
+ run: cat ./misskey-js.diff
- name: send message
- if: failure()
+ if: steps.check-changes.outputs.changes == 'true'
uses: thollander/actions-comment-pull-request@v2
with:
comment_tag: check-misskey-js-autogen
@@ -125,7 +124,7 @@ jobs:
```
- name: send message
- if: success()
+ if: steps.check-changes.outputs.changes == 'false'
uses: thollander/actions-comment-pull-request@v2
with:
comment_tag: check-misskey-js-autogen
diff --git a/.github/workflows/check-spdx-license-id.yml b/.github/workflows/check-spdx-license-id.yml
new file mode 100644
index 0000000000..6cd8bf60d5
--- /dev/null
+++ b/.github/workflows/check-spdx-license-id.yml
@@ -0,0 +1,75 @@
+name: Check SPDX-License-Identifier
+
+on:
+ push:
+ branches:
+ - master
+ - develop
+ pull_request:
+
+jobs:
+ check-spdx-license-id:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4.1.1
+ - name: Check
+ run: |
+ counter=0
+
+ search() {
+ local directory="$1"
+ find "$directory" -type f \
+ '(' \
+ -name "*.cjs" -and -not -name '*.config.cjs' -o \
+ -name "*.html" -o \
+ -name "*.js" -and -not -name '*.config.js' -o \
+ -name "*.mjs" -and -not -name '*.config.mjs' -o \
+ -name "*.scss" -o \
+ -name "*.ts" -and -not -name '*.config.ts' -o \
+ -name "*.vue" \
+ ')' -and \
+ -not -name '*eslint*'
+ }
+
+ check() {
+ local file="$1"
+ if ! (
+ grep -q "SPDX-FileCopyrightText: syuilo and misskey-project" "$file" ||
+ grep -q "SPDX-License-Identifier: AGPL-3.0-only" "$file"
+ ); then
+ echo "Missing: $file"
+ ((counter++))
+ fi
+ }
+
+ directories=(
+ "cypress/e2e"
+ "packages/backend/migration"
+ "packages/backend/src"
+ "packages/backend/test"
+ "packages/frontend/.storybook"
+ "packages/frontend/@types"
+ "packages/frontend/lib"
+ "packages/frontend/public"
+ "packages/frontend/src"
+ "packages/frontend/test"
+ "packages/misskey-bubble-game/src"
+ "packages/misskey-reversi/src"
+ "packages/sw/src"
+ "scripts"
+ )
+
+ for directory in "${directories[@]}"; do
+ for file in $(search $directory); do
+ check "$file"
+ done
+ done
+
+ if [ $counter -gt 0 ]; then
+ echo "SPDX-License-Identifier is missing in $counter files."
+ exit 1
+ else
+ echo "SPDX-License-Identifier is certainly described in all target files!"
+ exit 0
+ fi
diff --git a/.github/workflows/deploy-test-environment.yml b/.github/workflows/deploy-test-environment.yml
index 77cdcfaf88..66b15beb91 100644
--- a/.github/workflows/deploy-test-environment.yml
+++ b/.github/workflows/deploy-test-environment.yml
@@ -50,12 +50,9 @@ jobs:
- name: Get PR ref
id: get-ref
- env:
- GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
- PR_NUMBER=$(jq --raw-output .issue.number $GITHUB_EVENT_PATH)
- PR_REF=$(gh pr view $PR_NUMBER --json headRefName -q '.headRefName')
- echo "pr-ref=$PR_REF" > $GITHUB_OUTPUT
+ PR_REF="refs/pull/${{ github.event.issue.number }}/head"
+ echo "pr-ref=$PR_REF" >> $GITHUB_OUTPUT
- name: Extract wait time
id: get-wait-time
diff --git a/.github/workflows/get-api-diff.yml b/.github/workflows/get-api-diff.yml
index e737b89b42..9b9c8f11c4 100644
--- a/.github/workflows/get-api-diff.yml
+++ b/.github/workflows/get-api-diff.yml
@@ -18,7 +18,7 @@ jobs:
strategy:
matrix:
- node-version: [20.10.0]
+ node-version: [20.12.2]
api-json-name: [api-base.json, api-head.json]
include:
- api-json-name: api-base.json
@@ -32,10 +32,7 @@ jobs:
ref: ${{ matrix.ref }}
submodules: true
- name: Install pnpm
- uses: pnpm/action-setup@v3
- with:
- version: 8
- run_install: false
+ uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
with:
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 31e974edaa..76616ec5a7 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -27,10 +27,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
- - uses: pnpm/action-setup@v3
- with:
- version: 8
- run_install: false
+ - uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4.0.2
with:
node-version-file: '.node-version'
@@ -54,10 +51,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
- - uses: pnpm/action-setup@v3
- with:
- version: 7
- run_install: false
+ - uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4.0.2
with:
node-version-file: '.node-version'
@@ -80,10 +74,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
- - uses: pnpm/action-setup@v3
- with:
- version: 7
- run_install: false
+ - uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4.0.2
with:
node-version-file: '.node-version'
@@ -92,6 +83,6 @@ jobs:
- run: pnpm i --frozen-lockfile
- run: pnpm --filter misskey-js run build
if: ${{ matrix.workspace == 'backend' }}
- - run: pnpm --filter misskey-reversi run build:tsc
+ - run: pnpm --filter misskey-reversi run build
if: ${{ matrix.workspace == 'backend' }}
- run: pnpm --filter ${{ matrix.workspace }} run typecheck
diff --git a/.github/workflows/locale.yml b/.github/workflows/locale.yml
new file mode 100644
index 0000000000..de2247e772
--- /dev/null
+++ b/.github/workflows/locale.yml
@@ -0,0 +1,27 @@
+name: Lint
+
+on:
+ push:
+ paths:
+ - locales/**
+ pull_request:
+ paths:
+ - locales/**
+
+jobs:
+ locale_verify:
+ runs-on: ubuntu-latest
+ continue-on-error: true
+ steps:
+ - uses: actions/checkout@v4.1.1
+ with:
+ fetch-depth: 0
+ submodules: true
+ - uses: pnpm/action-setup@v4
+ - uses: actions/setup-node@v4.0.2
+ with:
+ node-version-file: '.node-version'
+ cache: 'pnpm'
+ - run: corepack enable
+ - run: pnpm i --frozen-lockfile
+ - run: cd locales && node verify.js
diff --git a/.github/workflows/on-release-created.yml b/.github/workflows/on-release-created.yml
index 069534bd53..edfdab99e9 100644
--- a/.github/workflows/on-release-created.yml
+++ b/.github/workflows/on-release-created.yml
@@ -17,17 +17,14 @@ jobs:
strategy:
matrix:
- node-version: [20.10.0]
+ node-version: [20.12.2]
steps:
- uses: actions/checkout@v4.1.1
with:
submodules: true
- name: Install pnpm
- uses: pnpm/action-setup@v3
- with:
- version: 8
- run_install: false
+ uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
with:
diff --git a/.github/workflows/release-edit-with-push.yml b/.github/workflows/release-edit-with-push.yml
new file mode 100644
index 0000000000..86ee0b3fb5
--- /dev/null
+++ b/.github/workflows/release-edit-with-push.yml
@@ -0,0 +1,43 @@
+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 "$PR_NUMBER" --body "$CHANGELOG"
+ env:
+ CHANGELOG: ${{ steps.changelog.outputs.changelog }}
+ PR_NUMBER: ${{ steps.get_pr.outputs.pr_number }}
diff --git a/.github/workflows/release-with-dispatch.yml b/.github/workflows/release-with-dispatch.yml
new file mode 100644
index 0000000000..bc6448cb37
--- /dev/null
+++ b/.github/workflows/release-with-dispatch.yml
@@ -0,0 +1,125 @@
+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' }}
+ indent: ${{ vars.INDENT }}
+ 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' }}
+ indent: ${{ vars.INDENT }}
+ 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' }}
+ indent: ${{ vars.INDENT }}
+ 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 }}
diff --git a/.github/workflows/release-with-ready.yml b/.github/workflows/release-with-ready.yml
new file mode 100644
index 0000000000..a0fad0e336
--- /dev/null
+++ b/.github/workflows/release-with-ready.yml
@@ -0,0 +1,41 @@
+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 "$PR_NUMBER" --json isDraft,headRefName)
+ echo "ref=$(echo $pr_json | jq -r '.headRefName')" >> $GITHUB_OUTPUT
+ id: get_pr
+ env:
+ PR_NUMBER: ${{ github.event.pull_request.number }}
+ 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' }}
+ indent: ${{ vars.INDENT }}
+ secrets:
+ RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }}
+ RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}
diff --git a/.github/workflows/storybook.yml b/.github/workflows/storybook.yml
index 87481b12cf..c52883ffdd 100644
--- a/.github/workflows/storybook.yml
+++ b/.github/workflows/storybook.yml
@@ -34,10 +34,7 @@ jobs:
echo "base=$(git rev-list --parents -n1 HEAD | cut -d" " -f2)" >> $GITHUB_OUTPUT
git checkout $(git rev-list --parents -n1 HEAD | cut -d" " -f3)
- name: Install pnpm
- uses: pnpm/action-setup@v3
- with:
- version: 8
- run_install: false
+ uses: pnpm/action-setup@v4
- name: Use Node.js 20.x
uses: actions/setup-node@v4.0.2
with:
@@ -87,12 +84,13 @@ jobs:
if [ "$CHROMATIC_PARAMETER" = " --skip" ]; then
echo "skip=true" >> $GITHUB_OUTPUT
fi
- BRANCH="${{ github.event.pull_request.head.user.login }}:${{ github.event.pull_request.head.ref }}"
- if [ "$BRANCH" = "misskey-dev:${{ github.event.pull_request.head.ref }}" ]; then
- BRANCH="${{ github.event.pull_request.head.ref }}"
+ BRANCH="${{ github.event.pull_request.head.user.login }}:$HEAD_REF"
+ if [ "$BRANCH" = "misskey-dev:$HEAD_REF" ]; then
+ BRANCH="$HEAD_REF"
fi
pnpm --filter frontend chromatic --exit-once-uploaded -d storybook-static --branch-name $BRANCH $(echo "$CHROMATIC_PARAMETER")
env:
+ HEAD_REF: ${{ github.event.pull_request.head.ref }}
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- name: Notify that Chromatic detects changes
uses: actions/github-script@v7.0.1
diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml
index 49a6a39805..b1c54bb3e7 100644
--- a/.github/workflows/test-backend.yml
+++ b/.github/workflows/test-backend.yml
@@ -21,7 +21,7 @@ jobs:
strategy:
matrix:
- node-version: [20.10.0]
+ node-version: [20.12.2]
services:
postgres:
@@ -41,10 +41,9 @@ jobs:
with:
submodules: true
- name: Install pnpm
- uses: pnpm/action-setup@v3
- with:
- version: 8
- run_install: false
+ uses: pnpm/action-setup@v4
+ - name: Install FFmpeg
+ uses: FedericoCarboni/setup-ffmpeg@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
with:
@@ -71,7 +70,7 @@ jobs:
strategy:
matrix:
- node-version: [20.10.0]
+ node-version: [20.12.2]
services:
postgres:
@@ -91,10 +90,7 @@ jobs:
with:
submodules: true
- name: Install pnpm
- uses: pnpm/action-setup@v3
- with:
- version: 8
- run_install: false
+ uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
with:
diff --git a/.github/workflows/test-frontend.yml b/.github/workflows/test-frontend.yml
index 1e020b7368..9d5053b82a 100644
--- a/.github/workflows/test-frontend.yml
+++ b/.github/workflows/test-frontend.yml
@@ -26,17 +26,14 @@ jobs:
strategy:
matrix:
- node-version: [20.10.0]
+ node-version: [20.12.2]
steps:
- uses: actions/checkout@v4.1.1
with:
submodules: true
- name: Install pnpm
- uses: pnpm/action-setup@v3
- with:
- version: 8
- run_install: false
+ uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
with:
@@ -64,7 +61,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- node-version: [20.10.0]
+ node-version: [20.12.2]
browser: [chrome]
services:
@@ -91,10 +88,7 @@ jobs:
#- uses: browser-actions/setup-firefox@latest
# if: ${{ matrix.browser == 'firefox' }}
- name: Install pnpm
- uses: pnpm/action-setup@v3
- with:
- version: 7
- run_install: false
+ uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
with:
diff --git a/.github/workflows/test-misskey-js.yml b/.github/workflows/test-misskey-js.yml
index f73bd0b08f..2589d908b8 100644
--- a/.github/workflows/test-misskey-js.yml
+++ b/.github/workflows/test-misskey-js.yml
@@ -20,7 +20,7 @@ jobs:
strategy:
matrix:
- node-version: [20.10.0]
+ node-version: [20.12.2]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
diff --git a/.github/workflows/test-production.yml b/.github/workflows/test-production.yml
index 77af08b6fe..7f8db65293 100644
--- a/.github/workflows/test-production.yml
+++ b/.github/workflows/test-production.yml
@@ -16,17 +16,14 @@ jobs:
strategy:
matrix:
- node-version: [20.10.0]
+ node-version: [20.12.2]
steps:
- uses: actions/checkout@v4.1.1
with:
submodules: true
- name: Install pnpm
- uses: pnpm/action-setup@v3
- with:
- version: 8
- run_install: false
+ uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
with:
diff --git a/.github/workflows/validate-api-json.yml b/.github/workflows/validate-api-json.yml
index 36ed8d273f..24340e7d81 100644
--- a/.github/workflows/validate-api-json.yml
+++ b/.github/workflows/validate-api-json.yml
@@ -17,17 +17,14 @@ jobs:
strategy:
matrix:
- node-version: [20.10.0]
+ node-version: [20.12.2]
steps:
- uses: actions/checkout@v4.1.1
with:
submodules: true
- name: Install pnpm
- uses: pnpm/action-setup@v3
- with:
- version: 8
- run_install: false
+ uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
with: