name: Dedupe Dependabot PRs on: push: branches: ['dependabot/**'] permissions: contents: write pull-requests: write repository-projects: write jobs: dedupe: name: Dedupe Dependabot PRs runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Cache .yarn/cache uses: actions/cache@v3 env: cache-name: yarn-cache with: path: .yarn/cache key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-${{ env.cache-name }} - name: Use Node.js uses: actions/setup-node@v3 with: node-version: '18' - name: Enable Corepack run: corepack enable - name: Configure Git run: | git config user.name 'github-actions[bot]' git config user.email 'github-actions[bot]@users.noreply.github.com' - name: Detect working directory run: | echo "WORKING_DIRECTORY=$(git log -1 --pretty=%B | sed -n 's/.* in \/\(.*\)$/\1/p')" >> $GITHUB_ENV - name: Dedupe dependencies run: yarn dedupe working-directory: ${{ env.WORKING_DIRECTORY }} env: HUSKY: 0 - name: Commit changes run: | git add . git commit -m 'Dedupe dependencies' || true working-directory: ${{ env.WORKING_DIRECTORY }} - name: Push changes run: git push working-directory: ${{ env.WORKING_DIRECTORY }}