diff --git a/.github/workflows/release-pull-request.yml b/.github/workflows/release-pull-request.yml new file mode 100644 index 00000000..0920c986 --- /dev/null +++ b/.github/workflows/release-pull-request.yml @@ -0,0 +1,52 @@ +name: Release Pull Request + +on: + workflow_dispatch: + inputs: + version: + type: choice + description: 'Release Type (next, beta, alpha, latest)' + required: true + default: 'latest' + options: + - next + - beta + - alpha + - latest + +jobs: + release: + name: Create Release Pull Request + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@master + with: + # This makes Actions fetch only one branch to release + fetch-depth: 10 + + - name: Install Pnpm + run: corepack enable + + - name: Setup Node.js 18 + uses: actions/setup-node@v3 + with: + node-version: '18' + cache: 'pnpm' + + - name: Install Dependencies + run: pnpm install --ignore-scripts + + - name: Create Release Pull Request + uses: web-infra-dev/actions@v2 + with: + # this expects you to have a script called release which does a build for your packages and calls changeset publish + version: ${{ github.event.inputs.version || 'latest' }} + versionNumber: 'auto' + type: 'pull request' + tools: 'modern' + env: + GITHUB_TOKEN: ${{ secrets.REPO_SCOPED_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + REPOSITORY: ${{ github.repository }} + REF: ${{ github.ref }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..31d3e4d9 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,104 @@ +name: Release + +on: + workflow_dispatch: + inputs: + version: + type: choice + description: 'Release Version (next, beta, alpha, latest)' + required: true + default: 'next' + options: + - next + - beta + - alpha + - latest + branch: + description: 'Release Branch (confirm release branch)' + required: true + default: 'main' + issue_comment: + types: [created] + +permissions: + id-token: write + +jobs: + issue_comment: + name: Release with comment + if: github.event.issue.pull_request && contains(github.event.comment.body, '!canary') + runs-on: ubuntu-latest + + steps: + - name: Checkout Repo + uses: actions/checkout@v3 + with: + fetch-depth: 1 + ref: refs/pull/${{ github.event.issue.number }}/head + + - name: Install Pnpm + run: corepack enable + + - name: Setup Node.js 18 + uses: actions/setup-node@v3 + with: + node-version: '18' + cache: 'pnpm' + + - name: Install npm v9 + run: npm install -g npm@9 + + - name: Install Dependencies + run: pnpm install + + - name: Release + uses: web-infra-dev/actions@v2 + with: + version: 'next' + type: 'release' + branch: '' + tools: 'modern' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + REPOSITORY: ${{ github.repository }} + PULL_REQUEST_NUMBER: ${{ github.event.issue.number }} + COMMENT: ${{ toJson(github.event.comment) }} + + release: + name: Release + if: ${{ github.event_name == 'workflow_dispatch' }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 25 + + - name: Install Pnpm + run: corepack enable + + - name: Setup Node.js 18 + uses: actions/setup-node@v3 + with: + node-version: '18' + cache: 'pnpm' + + - name: Install npm v9 + run: npm install -g npm@9 + + - name: Install Dependencies + run: pnpm install + + - name: Release + uses: web-infra-dev/actions@v2 + with: + version: ${{ github.event.inputs.version }} + branch: ${{ github.event.inputs.branch }} + type: 'release' + tools: 'modern' + env: + GITHUB_TOKEN: ${{ secrets.REPO_SCOPED_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + REPOSITORY: ${{ github.repository }} + REF: ${{ github.ref }} diff --git a/examples/webpack-minimal/webpack.config.ts b/examples/webpack-minimal/webpack.config.ts index fab32547..f184eb98 100644 --- a/examples/webpack-minimal/webpack.config.ts +++ b/examples/webpack-minimal/webpack.config.ts @@ -39,10 +39,7 @@ const data: Configuration = { ids: true, }, devtool: 'source-map', - plugins: [new RsdoctorWebpackPlugin({ - disableClientServer: !process.env.ENABLE_CLIENT_SERVER, - features: ['bundle', 'resolver', 'loader', 'plugins'] - })], + plugins: [new RsdoctorWebpackPlugin({ disableClientServer: !process.env.ENABLE_CLIENT_SERVER, features: ['bundle', 'plugins', 'loader', 'resolver'] })], }; export default data;