-
Notifications
You must be signed in to change notification settings - Fork 451
55 lines (51 loc) · 1.99 KB
/
yarn-if-needed.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
---
name: Dedupe yarn lockfile
on:
push:
branches: [next]
paths:
- 'yarn.lock'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true
permissions:
contents: read
jobs:
run:
name: Can yarn.lock be deduped? 🤔
runs-on: ubuntu-latest
# workflow_dispatch always lets you select the branch ref, even though in this case we only ever want to run the action on `main` thus we need an if check
if: ${{ github.ref_name == 'next' }}
steps:
- uses: actions/checkout@v4
- name: Cache node modules
id: cache-node-modules
uses: actions/cache@v3
env:
cache-name: cache-node-modules
with:
path: '**/node_modules'
key: ${{ runner.os }}-modules-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-${{ env.cache-name }}-
${{ runner.os }}-modules-
${{ runner.os }}-
- name: Install project dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: yarn install --ignore-scripts --frozen-lockfile --update-checksums --force
- run: npx yarn-deduplicate -- yarn.lock --strategy highest
- uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2
id: generate-token
with:
app_id: ${{ secrets.ECOSPARK_APP_ID }}
private_key: ${{ secrets.ECOSPARK_APP_PRIVATE_KEY }}
- uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v5
with:
author: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
body: I ran `npx yarn-deduplicate -- yarn.lock --strategy highest` 🧑💻
branch: actions/yarn-if-needed
commit-message: 'chore(deps): dedupe yarn.lock'
labels: 🤖 bot
title: 'chore(deps): dedupe yarn.lock'
token: ${{ steps.generate-token.outputs.token }}