Skip to content

test(ci): check misskey-js autogen #3

test(ci): check misskey-js autogen

test(ci): check misskey-js autogen #3

name: Check misskey-js autogen
on:
pull_request_target:
paths:
- packages/backend/**
jobs:
generate_misskey_js:
name: Generate misskey-js
runs-on: ubuntu-22.04
if: github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4.1.7
with:
submodules: true
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- name: Enable corepack
run: |
corepack enable
- name: Setup Node.js
uses: actions/setup-node@v4.0.4
with:
node-version-file: .node-version
cache: pnpm
- name: Install dependencies
run: |
pnpm i --frozen-lockfile
- 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
- 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
- name: Upload generated_misskey_js
uses: actions/upload-artifact@v4.4.0
with:
name: generated_misskey_js
path: packages/misskey-js/generator/built/autogen
get_actual_misskey_js:
name: Get actual misskey-js
runs-on: ubuntu-22.04
if: github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4.1.7
with:
submodules: true
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- name: Upload actual_misskey_js
uses: actions/upload-artifact@v4.4.0
with:
name: actual_misskey_js
path: packages/misskey-js/src/autogen
comment_misskey_js_autogen:
name: Comment misskey-js autogen
runs-on: ubuntu-22.04
needs:
- generate_misskey_js
- get_actual_misskey_js
permissions:
contents: read
pull-requests: write
steps:
- name: Download generated_misskey_js
uses: actions/download-artifact@v4.1.8
with:
name: generated_misskey_js
path: misskey-js-generated
- name: Download actual_misskey_js
uses: actions/download-artifact@v4.1.8
with:
name: actual_misskey_js
path: misskey-js-actual
- 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
if [ -s misskey-js.diff ]; then
echo "changes=true" >> $GITHUB_OUTPUT
else
echo "changes=false" >> $GITHUB_OUTPUT
fi
- name: Print full diff
run: cat ./misskey-js.diff
- name: Comment PR (upsert)
if: steps.check-changes.outputs.changes == 'true'
uses: thollander/actions-comment-pull-request@v2.5.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
comment_tag: check-misskey-js-autogen
mode: upsert
create_if_not_exists: true
message: |
Thank you for sending us a great Pull Request! πŸ‘
Please regenerate misskey-js type definitions! πŸ™
example:
```sh
pnpm run build-misskey-js-with-types
```
- name: Comment PR (delete)
if: steps.check-changes.outputs.changes == 'false'
uses: thollander/actions-comment-pull-request@v2.5.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
comment_tag: check-misskey-js-autogen
mode: delete
create_if_not_exists: false
message: |
Thank you!