Files
discord.js/.github/workflows/release.yml
Almeida 384e8afa1b chore: bump dependencies (#11539)
* chore(deps): update github-actions

* actions/cache v4 -> v5
* actions/create-github-app-token v2 -> v3
* actions/download-artifact v6 -> v8
* actions/labeler v5 -> v6
* actions/upload-artifact v5 -> v7
* codecov/codecov-action v4 -> v6
* crazy-max/ghaction-github-labeler v5 -> v6
* dessant/lock-threads v5 -> v6
* docker/build-push-action v6 -> v7
* docker/login-action v3 -> v4
* docker/setup-buildx-action v3 -> v4
* pnpm/action-setup v4.1.0 -> v6.0.8

* chore(deps): minor/patch bumps and pnpm v11

* chore(deps): bump lint-staged to v17

* chore(deps): bump commitlint to v21

* chore(deps): bump vercel to v54

* chore(deps): bump vite to v8

* chore(deps): bump chromatic to v17

* chore(deps): bump validate-npm-package-name to v8

* chore(deps): bump uuid to v14

* chore(deps): bump cloudflare to v6

* chore(deps): bump meilisearch to v0.58

* chore(deps): bump fumadocs-mdx to v15

* chore(deps): lockfile

* chore: fixes

* fixup! chore(deps): minor/patch bumps and pnpm v11

* chore(deps): bump vercel to v56

* chore(deps): bump chromatic to v18

* chore: fix format/lint and change prettier range

* chore(deps): bump vitest-websocket-mock to v0.7

* chore(deps): bump cloudflare to v7

* chore(deps): bump meilisearch to v0.59

* chore(deps): bump commander to v15

* chore(deps): bump sharp to v0.35

* chore(deps): bump undici to v8

* chore: lockfile

* fixup! chore(deps): update github-actions

* fix(rest): requested changes

* chore: minor/patch

* chore(deps): bump meilisearch to v0.60

* chore(deps): bump vercel to v57

* fixup! fixup! chore(deps): update github-actions

* chore: revert prettier upgrade

* chore: minor/patch

* chore(deps): bump vercel to v58

* chore(deps): regen lockfile

* chore(deps): undici 8.10.1 and pnpm 11.25

* chore(deps): minor/patch

* fix: lockfile

* chore: more
2026-09-03 10:27:10 +00:00

114 lines
3.5 KiB
YAML

name: Release
on:
workflow_dispatch:
inputs:
ref:
description: 'The branch, tag or SHA to checkout'
required: true
default: 'main'
package:
description: 'The published name of a single package to release'
type: choice
required: false
options:
- all
- discord.js
- '@discordjs/brokers'
- '@discordjs/builders'
- '@discordjs/collection'
- '@discordjs/core'
- 'create-discord-bot'
# - '@discordjs/docgen'
- '@discordjs/formatters'
- '@discordjs/next'
- '@discordjs/proxy'
- '@discordjs/rest'
- '@discordjs/rpc'
- '@discordjs/structures'
- '@discordjs/util'
- '@discordjs/voice'
- '@discordjs/ws'
exclude:
description: 'Comma separated list of packages to exclude from release (if not depended upon)'
required: false
type: string
default: '@discordjs/docgen,@discordjs/next'
dry_run:
description: Perform a dry run?
type: boolean
default: false
jobs:
npm-publish:
name: npm publish
runs-on: ubuntu-latest
permissions:
id-token: write
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
if: github.repository_owner == 'discordjs'
steps:
- uses: actions/create-github-app-token@v3
id: app-token
with:
app-id: ${{ vars.DISCORDJS_APP_ID }}
private-key: ${{ secrets.DISCORDJS_APP_KEY_RELEASE }}
permission-contents: write
- name: Checkout repository
uses: actions/checkout@v7
with:
token: ${{ steps.app-token.outputs.token }}
ref: ${{ inputs.ref || '' }}
- name: Install Node.js v24
uses: actions/setup-node@v7
with:
node-version: 24
package-manager-cache: false
registry-url: https://registry.npmjs.org/
- name: Install dependencies
uses: ./packages/actions/src/pnpmCache
- name: Build dependencies
run: pnpm run build
- name: Checkout main repository
if: ${{ inputs.ref && inputs.ref != 'main' }}
uses: actions/checkout@v7
with:
path: 'main'
- name: Install action deps (non-main ref only)
if: ${{ inputs.ref && inputs.ref != 'main' }}
shell: bash
working-directory: ./main
env:
COREPACK_ENABLE_STRICT: 0
run: |
pnpm self-update 11
pnpm install --filter @discordjs/actions --frozen-lockfile --prefer-offline --loglevel error
- name: Release packages (non-main ref)
if: ${{ inputs.ref && inputs.ref != 'main' }}
uses: ./main/packages/actions/src/releasePackages
with:
package: ${{ inputs.package }}
exclude: ${{ inputs.exclude }}
dry: ${{ inputs.dry_run }}
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
- name: Release packages (main ref)
if: ${{ !inputs.ref || inputs.ref == 'main' }}
uses: ./packages/actions/src/releasePackages
with:
package: ${{ inputs.package }}
exclude: ${{ inputs.exclude }}
dry: ${{ inputs.dry_run }}
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}