Release Downstream #16
This file contains hidden or 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: Release Downstream | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| tag_name: | |
| description: 'Release tag name (e.g., v4.10.7)' | |
| required: true | |
| type: string | |
| env: | |
| QQ_URL_X86_64: 'https://qqdl.gtimg.cn/qqfile/QQNT/9.9.32/beta/fd40a3ec/linuxqq_3.2.30-50969_x86_64.AppImage' | |
| QQ_URL_ARM64: 'https://qqdl.gtimg.cn/qqfile/QQNT/9.9.32/beta/fd40a3ec/linuxqq_3.2.30-50969_arm64.AppImage' | |
| jobs: | |
| get-version: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| latest_tag: ${{ steps.get_version.outputs.latest_tag }} | |
| version: ${{ steps.get_version.outputs.version }} | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v5 | |
| - name: Get Latest NapCat Version | |
| id: get_version | |
| run: | | |
| if [ -n "${{ inputs.tag_name }}" ]; then | |
| latest_tag="${{ inputs.tag_name }}" | |
| else | |
| latest_tag=$(git describe --tags $(git rev-list --tags --max-count=1)) | |
| fi | |
| version=${latest_tag#v} | |
| echo "Debug: Latest NapCat Version is ${latest_tag}, version is ${version}" | |
| echo "latest_tag=${latest_tag}" >> $GITHUB_OUTPUT | |
| echo "version=${version}" >> $GITHUB_OUTPUT | |
| publish-schema: | |
| needs: get-version | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - name: Install Dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Build napcat-schema | |
| run: | | |
| cd packages/napcat-schema | |
| pnpm run build:openapi | |
| - name: Checkout NapCatDocs | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: NapNeko/NapCatDocs | |
| token: ${{ secrets.NAPCAT_BUILD }} | |
| path: napcat-docs | |
| - name: Copy OpenAPI Schema | |
| run: | | |
| VERSION="${{ needs.get-version.outputs.version }}" | |
| mkdir -p napcat-docs/src/api/${VERSION} | |
| cp packages/napcat-schema/dist/openapi.json napcat-docs/src/api/${VERSION}/openapi.json | |
| echo "OpenAPI schema copied to napcat-docs/src/api/${VERSION}/openapi.json" | |
| - name: Commit and Push | |
| run: | | |
| VERSION="${{ needs.get-version.outputs.version }}" | |
| cd napcat-docs | |
| git config user.name "github-actions[bot]" | |
| git config user.email "github-actions[bot]@users.noreply.github.com" | |
| git add src/api/${VERSION}/openapi.json | |
| git commit -m "chore: update OpenAPI schema for version ${VERSION}" || echo "No changes to commit" | |
| git push | |
| shell-docker: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Trigger NapCat-Docker docker-publish workflow | |
| env: | |
| GH_TOKEN: ${{ secrets.NAPCAT_BUILD }} | |
| run: | | |
| curl -X POST \ | |
| -H "Accept: application/vnd.github+json" \ | |
| -H "Authorization: Bearer $GH_TOKEN" \ | |
| https://api.github.com/repos/NapNeko/NapCat-Docker/actions/workflows/docker-publish.yml/dispatches \ | |
| -d '{"ref":"main"}' | |
| framework-docker: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Trigger NapCat-Framework-Docker docker-publish workflow | |
| env: | |
| GH_TOKEN: ${{ secrets.NAPCAT_BUILD }} | |
| run: | | |
| curl -X POST \ | |
| -H "Accept: application/vnd.github+json" \ | |
| -H "Authorization: Bearer $GH_TOKEN" \ | |
| https://api.github.com/repos/NapNeko/NapCat.Docker.Framework/actions/workflows/docker-image.yml/dispatches \ | |
| -d '{"ref":"main"}' | |
| appimage: | |
| needs: get-version | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Trigger NapCat AppImage build workflow | |
| env: | |
| GH_TOKEN: ${{ secrets.NAPCAT_BUILD }} | |
| NAPCAT_VERSION: ${{ needs.get-version.outputs.latest_tag }} | |
| run: | | |
| echo "Debug: Triggering NapCat AppImage with napcat_version=${NAPCAT_VERSION}" | |
| curl -X POST \ | |
| -H "Accept: application/vnd.github+json" \ | |
| -H "Authorization: Bearer $GH_TOKEN" \ | |
| https://api.github.com/repos/NapNeko/NapCatAppImageBuild/actions/workflows/release.yml/dispatches \ | |
| -d "{\"ref\":\"main\",\"inputs\":{\"napcat_version\":\"${NAPCAT_VERSION}\",\"qq_version_x86_64\":\"${{ env.QQ_URL_X86_64 }}\",\"qq_version_arm64\":\"${{ env.QQ_URL_ARM64 }}\"}}" | |
| node-shell: | |
| needs: get-version | |
| runs-on: ubuntu-latest | |
| env: | |
| GH_TOKEN: ${{ secrets.NAPCAT_BUILD }} | |
| NAPCAT_VERSION: ${{ needs.get-version.outputs.latest_tag }} | |
| steps: | |
| - name: Trigger NapCat NodeLoader release workflow | |
| run: | | |
| echo "Debug: Triggering NapCat NodeLoader release with napcat_version=${NAPCAT_VERSION}" | |
| curl -X POST \ | |
| -H "Accept: application/vnd.github+json" \ | |
| -H "Authorization: Bearer $GH_TOKEN" \ | |
| https://api.github.com/repos/NapNeko/NapCatLinuxNodeLoader/actions/workflows/release.yml/dispatches \ | |
| -d "{\"ref\":\"main\",\"inputs\":{\"napcat_version\":\"${NAPCAT_VERSION}\",\"qq_url_amd64\":\"${{ env.QQ_URL_X86_64 }}\",\"qq_url_arm64\":\"${{ env.QQ_URL_ARM64 }}\"}}" | |
| - name: Trigger NapCat NodeLoader docker workflow | |
| run: | | |
| echo "Debug: Triggering NapCat NodeLoader docker with napcat_version=${NAPCAT_VERSION}" | |
| curl -X POST \ | |
| -H "Accept: application/vnd.github+json" \ | |
| -H "Authorization: Bearer $GH_TOKEN" \ | |
| https://api.github.com/repos/NapNeko/NapCatLinuxNodeLoader/actions/workflows/docker-publish.yml/dispatches \ | |
| -d "{\"ref\":\"main\",\"inputs\":{\"napcat_version\":\"${NAPCAT_VERSION}\",\"qq_url_amd64\":\"${{ env.QQ_URL_X86_64 }}\",\"qq_url_arm64\":\"${{ env.QQ_URL_ARM64 }}\"}}" |