diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml new file mode 100644 index 000000000..c166aea92 --- /dev/null +++ b/.github/actions/setup/action.yml @@ -0,0 +1,16 @@ +name: Setup +description: Installs Node, Enables Corepack and caches pnpm. + +runs: + using: composite + + steps: + - name: Enable corepack + run: corepack enable + shell: bash + + - name: Setup node & pnpm + uses: actions/setup-node@v4 + with: + node-version: lts/* + cache: pnpm diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index fb10d6add..0988b89ef 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -48,32 +48,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - # Run a build step here - - name: Setup Node.js environment - uses: actions/setup-node@v2 - with: - node-version: 18 - - - uses: pnpm/action-setup@v2 - name: Install pnpm - with: - version: 9.1.2 - run_install: false - - - name: Get pnpm store directory - shell: bash - run: | - echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV - - - uses: actions/cache@v3 - 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: Setup (Install Node & pnpm) + uses: ./.github/actions/setup - name: Install dependencies run: pnpm i --frozen-lockfile diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 7b1d64681..2ffab6ba1 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -14,14 +14,13 @@ jobs: release: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: actions/setup-node@v3 - with: - node-version: 18.x + - name: Setup (Install Node & pnpm) + uses: ./.github/actions/setup - - run: npx changelogithub + - run: pnpm dlx changelogithub env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 3cb02036d..7ed6dfa67 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -19,31 +19,10 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - name: Setup Node.js environment - uses: actions/setup-node@v2 - with: - node-version: 18 - - - uses: pnpm/action-setup@v2 - name: Install pnpm - with: - version: 9.1.2 - run_install: false - - - name: Get pnpm store directory - shell: bash - run: | - echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV - - - uses: actions/cache@v3 - 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: Setup (Install Node & pnpm) + uses: ./.github/actions/setup - name: Install dependencies run: pnpm i --frozen-lockfile