diff --git a/.github/workflows/default.yaml b/.github/workflows/default.yaml index 644544c..608184f 100644 --- a/.github/workflows/default.yaml +++ b/.github/workflows/default.yaml @@ -11,6 +11,8 @@ permissions: jobs: build: + env: + RUNNER_TOOL_CACHE: /toolcache runs-on: ubuntu-latest steps: - name: Checkout your repository using git @@ -20,28 +22,24 @@ jobs: run: apt update && apt install git-lfs zstd - name: 📦 Install PNPM - uses: https://github.com/pnpm/action-setup@v2 + uses: https://github.com/pnpm/action-setup@v3 id: pnpm-install with: - version: 7 + version: 8 run_install: false - - name: 🔢 Calculate cache ids + - name: Get pnpm store directory + shell: bash run: | - git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id - LFS_CACHE_ID=$(cat .lfs-assets-id | md5sum)-v2 # Get the GitHub repository name - PNPM_CACHE_ID=$( cat pnpm-lock.yaml | md5sum )-v2q - echo "LFS_CACHE_ID=$LFS_CACHE_ID" >> $GITHUB_ENV - echo "PNPM_STORE_PATH=$(pnpm store path)" >> $GITHUB_ENV - echo "PNPM_CACHE_ID=$PNPM_CACHE_ID" >> $GITHUB_ENV + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV - - name: 🗳️ Setup pnpm cache - uses: https://github.com/actions/cache@v4 + - uses: actions/cache@v4 + name: Setup pnpm cache with: - path: ${{ env.PNPM_STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-${{ env.PNPM_CACHE_ID }} + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ${{ runner.os }}-pnpm-store + ${{ runner.os }}-pnpm-store- - name: 📥 Checkout lfs files run: git lfs pull @@ -49,12 +47,8 @@ jobs: - name: 📦 Install pnpm packages run: pnpm install - - name: Build Website - run: pnpm build - # with: - # path: . # The root location of your Astro project inside the repository. (optional) - # node-version: 20 # The specific version of Node that should be used to build your site. Defaults to 20. (optional) - # package-manager: pnpm@latest # The Node package manager that should be used to install dependencies and build your site. Automatically detected based on your lockfile. (optional) + - name: Install, build, and upload your site output + uses: withastro/action@v2 deploy: needs: build