diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 963e09714..21b588069 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -43,5 +43,8 @@ If you'd like to create another package under the `@discordjs` organization run pnpm run create-package [package-description] ``` -This will create new package directory under `packages/` with the required configuration files. You can -begin to make changes within the `src/` directory. It may also be required to update the CODEOWNERS file. +This will create new package directory under `packages/` with the required configuration files. You may begin +to make changes within the `src/` directory. You may also need to: + +- Update workflows that utilize packages +- Update the CODEOWNERS file diff --git a/.github/workflows/deprecate-version.yml b/.github/workflows/deprecate-version.yml new file mode 100644 index 000000000..cf66ebd6d --- /dev/null +++ b/.github/workflows/deprecate-version.yml @@ -0,0 +1,50 @@ +name: Deprecate version +on: + workflow_dispatch: + inputs: + package: + description: Package + required: true + type: choice + options: + - '@discordjs/brokers' + - '@discordjs/builders' + - '@discordjs/collection' + - '@discordjs/core' + - create-discord-bot + - '@discordjs/formatters' + - discord.js + - '@discordjs/next' + - '@discordjs/proxy' + - '@discordjs/rest' + - '@discordjs/util' + - '@discordjs/voice' + - '@discordjs/ws' + version: + description: Version(s) + 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@v3 + + - name: Install Node.js v18 + uses: actions/setup-node@v3 + with: + node-version: 18 + + - name: Install dependencies + 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 }} diff --git a/.github/workflows/npm-auto-deprecate.yml b/.github/workflows/npm-auto-deprecate.yml deleted file mode 100644 index f88e17c32..000000000 --- a/.github/workflows/npm-auto-deprecate.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: npm auto deprecate -on: - schedule: - - cron: '0 1 * * *' - workflow_dispatch: -jobs: - npm-auto-deprecate: - name: npm auto deprecate - runs-on: ubuntu-latest - if: github.repository_owner == 'discordjs' - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Install node.js v18 - uses: actions/setup-node@v3 - with: - node-version: 18 - - - name: Install dependencies - uses: ./packages/actions/src/pnpmCache - - - name: Deprecate versions - run: 'pnpm exec npm-deprecate --name "*dev*" --package @discordjs/brokers @discordjs/builders @discordjs/collection @discordjs/core @discordjs/formatters discord.js @discordjs/next @discordjs/proxy @discordjs/rest @discordjs/util @discordjs/voice @discordjs/ws' - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} diff --git a/.github/workflows/publish-dev.yml b/.github/workflows/publish-dev.yml index 298146c0d..1f2b8693b 100644 --- a/.github/workflows/publish-dev.yml +++ b/.github/workflows/publish-dev.yml @@ -63,3 +63,8 @@ jobs: pnpm --filter=${{ matrix.package }} publish --no-git-checks --tag dev || true env: NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} + + - name: Deprecate prior development releases + run: pnpm exec npm-deprecate --name "*dev*" --message "This version is deprecated. Please use a newer version." --package ${{ matrix.package }} + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}