Skip to content
Snippets Groups Projects
Select Git revision
  • d3788f01516031f15e6e7c497afd111dc46881d6
  • master default protected
2 results

astro.yml

Blame
  • astro.yml 2.97 KiB
    # 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/
    #
    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
      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"
      cancel-in-progress: false
    
    env:
      BUILD_PATH: "." # default value when not using subfolders
      # BUILD_PATH: subfolder
    
    jobs:
      build:
        name: Build
        runs-on: ubuntu-latest
        steps:
          - name: Checkout
            uses: actions/checkout@v4
          - name: Detect package manager
            id: detect-package-manager
            run: |
              if [ -f "${{ github.workspace }}/yarn.lock" ]; then
                echo "manager=yarn" >> $GITHUB_OUTPUT
                echo "command=install" >> $GITHUB_OUTPUT
                echo "runner=yarn" >> $GITHUB_OUTPUT
                echo "lockfile=yarn.lock" >> $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
                echo "lockfile=package-lock.json" >> $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 }}/${{ steps.detect-package-manager.outputs.lockfile }}
          - name: Setup Pages
            id: pages
            uses: actions/configure-pages@v5
          - name: Install dependencies
            run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }}
            working-directory: ${{ env.BUILD_PATH }}
          - name: Build with Astro
            run: |