diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml new file mode 100644 index 00000000..dacf16b6 --- /dev/null +++ b/.github/workflows/automerge.yml @@ -0,0 +1,110 @@ +name: Automerge + +on: + pull_request: + branches: + - 'dependabot/**' + +jobs: + linter: + name: Lint Code + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Check out repo + uses: actions/checkout@v4 + with: + persist-credentials: false + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 18 + + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 8 + run_install: false + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - uses: actions/cache@v4 + name: Setup pnpm cache + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: pnpm install + + - name: Lint code + run: pnpm run lint + + test: + name: Test + runs-on: ${{ matrix.os }} + permissions: + contents: read + strategy: + matrix: + node-version: [18, 20] + os: [macos-latest, ubuntu-latest, windows-latest] + steps: + - name: Check out repo + uses: actions/checkout@v4 + with: + persist-credentials: false + + - name: Setup Node ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 8 + run_install: false + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - uses: actions/cache@v4 + name: Setup pnpm cache + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-${{ matrix.node-version }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-${{ matrix.node-version }}-pnpm-store- + + - name: Install dependencies + run: pnpm install + + - name: Run tests + run: pnpm run test + + automerge: + name: Automerge Dependabot PRs + if: > + github.event_name == 'pull_request' && + github.event.pull_request.user.login == 'dependabot[bot]' + needs: test + permissions: + pull-requests: write + contents: write + runs-on: ubuntu-latest + steps: + - uses: fastify/github-action-merge-dependabot@v3 + with: + exclude: ${{ inputs.auto-merge-exclude }} + github-token: ${{ secrets.GITHUB_TOKEN }} + target: major diff --git a/.github/workflows/ci-config.yml b/.github/workflows/ci-config.yml index 1225f2c8..d72d06de 100644 --- a/.github/workflows/ci-config.yml +++ b/.github/workflows/ci-config.yml @@ -96,20 +96,3 @@ jobs: - name: Run tests run: pnpm --filter "./packages/config" run test - - automerge: - name: Automerge Dependabot PRs - if: > - github.event_name == 'pull_request' && - github.event.pull_request.user.login == 'dependabot[bot]' - needs: test - permissions: - pull-requests: write - contents: write - runs-on: ubuntu-latest - steps: - - uses: fastify/github-action-merge-dependabot@v3 - with: - exclude: ${{ inputs.auto-merge-exclude }} - github-token: ${{ secrets.GITHUB_TOKEN }} - target: major diff --git a/.github/workflows/ci-cronjob.yml b/.github/workflows/ci-cronjob.yml index 73413ba8..e71f8b8e 100644 --- a/.github/workflows/ci-cronjob.yml +++ b/.github/workflows/ci-cronjob.yml @@ -104,20 +104,3 @@ jobs: - name: Run tests run: pnpm --filter "./packages/cronjob" run test - - automerge: - name: Automerge Dependabot PRs - if: > - github.event_name == 'pull_request' && - github.event.pull_request.user.login == 'dependabot[bot]' - needs: test - permissions: - pull-requests: write - contents: write - runs-on: ubuntu-latest - steps: - - uses: fastify/github-action-merge-dependabot@v3 - with: - exclude: ${{ inputs.auto-merge-exclude }} - github-token: ${{ secrets.GITHUB_TOKEN }} - target: major diff --git a/.github/workflows/ci-mongodb.yml b/.github/workflows/ci-mongodb.yml index 64e2ca1f..905bfee1 100644 --- a/.github/workflows/ci-mongodb.yml +++ b/.github/workflows/ci-mongodb.yml @@ -104,20 +104,3 @@ jobs: - name: Run tests run: pnpm --filter "./packages/mongodb" run test - - automerge: - name: Automerge Dependabot PRs - if: > - github.event_name == 'pull_request' && - github.event.pull_request.user.login == 'dependabot[bot]' - needs: test - permissions: - pull-requests: write - contents: write - runs-on: ubuntu-latest - steps: - - uses: fastify/github-action-merge-dependabot@v3 - with: - exclude: ${{ inputs.auto-merge-exclude }} - github-token: ${{ secrets.GITHUB_TOKEN }} - target: major diff --git a/.github/workflows/ci-multipart.yml b/.github/workflows/ci-multipart.yml index 972a08ea..4509abdd 100644 --- a/.github/workflows/ci-multipart.yml +++ b/.github/workflows/ci-multipart.yml @@ -96,20 +96,3 @@ jobs: - name: Run tests run: pnpm --filter "./packages/multipart" run test - - automerge: - name: Automerge Dependabot PRs - if: > - github.event_name == 'pull_request' && - github.event.pull_request.user.login == 'dependabot[bot]' - needs: test - permissions: - pull-requests: write - contents: write - runs-on: ubuntu-latest - steps: - - uses: fastify/github-action-merge-dependabot@v3 - with: - exclude: ${{ inputs.auto-merge-exclude }} - github-token: ${{ secrets.GITHUB_TOKEN }} - target: major