diff --git a/.github/workflows/deprecate-tag.yml b/.github/workflows/deprecate-tag.yml deleted file mode 100644 index a83690c1a..000000000 --- a/.github/workflows/deprecate-tag.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: Deprecate tag -on: - workflow_dispatch: - inputs: - tag: - description: The tag to deprecate - required: true - type: string - message: - description: Deprecation message - required: false - type: string -jobs: - deprecate: - runs-on: ubuntu-latest - if: github.repository_owner == 'discordjs' - steps: - - name: Checkout repository - uses: actions/checkout@v5 - - - name: Install Node.js v24 - uses: actions/setup-node@v6 - with: - node-version: 24 - package-manager-cache: false - - - name: Install dependencies - uses: ./packages/actions/src/pnpmCache - - - name: Deprecate - run: | - pnpm exec npm-deprecate \ - --deprecate-dist-tag \ - --name "*-${{inputs.tag}}.*" \ - --message "${{inputs.message || 'This version is deprecated. Please use a newer version.'}}" \ - --package '@discordjs/brokers' \ - --package '@discordjs/builders' \ - --package '@discordjs/collection' \ - --package '@discordjs/core' \ - --package 'create-discord-app' \ - --package 'create-discord-bot' \ - --package '@discordjs/formatters' \ - --package 'discord.js' \ - --package '@discordjs/next' \ - --package '@discordjs/proxy' \ - --package '@discordjs/rest' \ - --package '@discordjs/structures' \ - --package '@discordjs/util' \ - --package '@discordjs/voice' \ - --package '@discordjs/ws' - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} diff --git a/.github/workflows/deprecate-version.yml b/.github/workflows/deprecate-version.yml index e34964522..f16ef54a4 100644 --- a/.github/workflows/deprecate-version.yml +++ b/.github/workflows/deprecate-version.yml @@ -48,6 +48,9 @@ jobs: uses: ./packages/actions/src/pnpmCache - name: Deprecate - run: pnpm exec npm-deprecate --name "${{inputs.version}}" --message "${{inputs.message || 'This version is deprecated. Please use a newer version.'}}" --package ${{inputs.package}} - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} + uses: ./packages/actions/src/deprecateVersion + with: + package: ${{ inputs.package }} + version: ${{ inputs.version }} + message: ${{ inputs.message }} + node-auth-token: ${{ secrets.NPM_PUBLISH_TOKEN }} diff --git a/.github/workflows/remove-tag.yml b/.github/workflows/remove-tag.yml new file mode 100644 index 000000000..55987b88d --- /dev/null +++ b/.github/workflows/remove-tag.yml @@ -0,0 +1,60 @@ +name: Remove tag +on: + workflow_dispatch: + inputs: + tag: + description: The tag to remove + required: true + type: string + message: + description: Deprecation message + required: false + type: string +jobs: + removal: + runs-on: ubuntu-latest + if: github.repository_owner == 'discordjs' + strategy: + matrix: + package: + - '@discordjs/brokers' + - '@discordjs/builders' + - '@discordjs/collection' + - '@discordjs/core' + - 'create-discord-app' + - 'create-discord-bot' + - '@discordjs/formatters' + - 'discord.js' + - '@discordjs/next' + - '@discordjs/proxy' + - '@discordjs/rest' + - '@discordjs/structures' + - '@discordjs/util' + - '@discordjs/voice' + - '@discordjs/ws' + fail-fast: false + steps: + - name: Checkout repository + uses: actions/checkout@v5 + + - name: Install Node.js + uses: actions/setup-node@v6 + with: + node-version: 24 + registry-url: 'https://registry.npmjs.org' + + - name: Install dependencies + uses: ./packages/actions/src/pnpmCache + + - name: Remove tag + run: pnpm dist-tag rm "${{ matrix.package }}" "${{ inputs.tag }}" + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} + + - name: Deprecate version + uses: ./packages/actions/src/deprecateVersion + with: + package: ${{ matrix.package }} + version: '*-${{ inputs.tag }}.*' + message: ${{ inputs.message }} + node-auth-token: ${{ secrets.NPM_PUBLISH_TOKEN }} diff --git a/packages/actions/src/deprecateVersion/action.yml b/packages/actions/src/deprecateVersion/action.yml new file mode 100644 index 000000000..532930e2a --- /dev/null +++ b/packages/actions/src/deprecateVersion/action.yml @@ -0,0 +1,25 @@ +name: Deprecate package version +description: Deprecates package versions. +inputs: + package: + description: Package name + required: true + version: + description: Version to deprecate + required: true + message: + description: Deprecation message + required: false + default: This version is deprecated. Please use a newer version. + node-auth-token: + description: npm authentication token + required: true +runs: + using: composite + steps: + - name: Deprecate version + shell: bash + run: | + pnpm exec npm-deprecate --name "${{ inputs.version }}" --message "${{ inputs.message }}" --package "${{ inputs.package }}" + env: + NODE_AUTH_TOKEN: ${{ inputs.node-auth-token }}