From fddae45083e1ae650960053a2cd536e5dc1b383f Mon Sep 17 00:00:00 2001 From: Anders Nylund Date: Thu, 29 Feb 2024 08:17:56 +0200 Subject: [PATCH 1/2] Use bun --- .github/workflows/ci.yml | 51 +++++++++++----------------------------- 1 file changed, 14 insertions(+), 37 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fef5e38..de84b43 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,32 +1,23 @@ # Sample workflow for building and deploying an Astro site to GitHub Pages -# -# To get started with Astro see: https://docs.astro.build/en/getting-started/ -# +# Updated to use Bun for package management and script execution name: Deploy Astro site to Pages on: - # Runs on pushes targeting the default branch push: - branches: ["master"] - - # Allows you to run this workflow manually from the Actions tab + branches: ['master'] workflow_dispatch: -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: contents: read pages: write id-token: write -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. concurrency: - group: "pages" + group: 'pages' cancel-in-progress: false env: - BUILD_PATH: "." # default value when not using subfolders - # BUILD_PATH: subfolder + BUILD_PATH: '.' # default value when not using subfolders jobs: build: @@ -35,41 +26,27 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 - - name: Detect package manager - id: detect-package-manager + + - name: Install Bun run: | - if [ -f "${{ github.workspace }}/yarn.lock" ]; then - echo "manager=yarn" >> $GITHUB_OUTPUT - echo "command=install" >> $GITHUB_OUTPUT - echo "runner=yarn" >> $GITHUB_OUTPUT - exit 0 - elif [ -f "${{ github.workspace }}/package.json" ]; then - echo "manager=npm" >> $GITHUB_OUTPUT - echo "command=ci" >> $GITHUB_OUTPUT - echo "runner=npx --no-install" >> $GITHUB_OUTPUT - exit 0 - else - echo "Unable to determine package manager" - exit 1 - fi - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20" - cache: ${{ steps.detect-package-manager.outputs.manager }} - cache-dependency-path: ${{ env.BUILD_PATH }}/package-lock.json + curl -fsSL https://bun.sh/install | bash + echo "$HOME/.bun" >> $GITHUB_PATH + - name: Setup Pages id: pages uses: actions/configure-pages@v4 + - name: Install dependencies - run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }} + run: bun install working-directory: ${{ env.BUILD_PATH }} + - name: Build with Astro run: | - ${{ steps.detect-package-manager.outputs.runner }} astro build \ + bun astro build \ --site "${{ steps.pages.outputs.origin }}" \ --base "${{ steps.pages.outputs.base_path }}" working-directory: ${{ env.BUILD_PATH }} + - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: From c6e34c6a33e9e4b25b6de8ea838c79d7aefff940 Mon Sep 17 00:00:00 2001 From: Anders Nylund Date: Thu, 29 Feb 2024 08:20:25 +0200 Subject: [PATCH 2/2] Setup bun --- .github/workflows/ci.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index de84b43..79884cc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,10 +27,8 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Install Bun - run: | - curl -fsSL https://bun.sh/install | bash - echo "$HOME/.bun" >> $GITHUB_PATH + - name: Setup Bun + uses: oven-sh/setup-bun@v1.1.1 - name: Setup Pages id: pages