diff --git a/.github/workflows/astro.yml b/.github/workflows/astro.yml index f23467e1..613c5614 100644 --- a/.github/workflows/astro.yml +++ b/.github/workflows/astro.yml @@ -1,22 +1,36 @@ +# 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: ["main"] + + # 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: "." + BUILD_PATH: "." # default value when not using subfolders + # BUILD_PATH: subfolder jobs: build: + name: Build runs-on: ubuntu-latest steps: - name: Checkout @@ -25,13 +39,15 @@ jobs: id: detect-package-manager run: | if [ -f "${{ github.workspace }}/yarn.lock" ]; then - echo "manager=yarn" >> $GITHUB_ENV - echo "command=install" >> $GITHUB_ENV - echo "runner=yarn" >> $GITHUB_ENV + 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_ENV - echo "command=ci" >> $GITHUB_ENV - echo "runner=npx --no-install" >> $GITHUB_ENV + 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 @@ -40,7 +56,7 @@ jobs: uses: actions/setup-node@v3 with: node-version: "14" - cache: ${{ env.BUILD_PATH }}/node_modules + cache: "node_modules" # Modifica qui cache-dependency-path: ${{ env.BUILD_PATH }}/package-lock.json - name: Setup Pages id: pages @@ -49,17 +65,24 @@ jobs: run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }} working-directory: ${{ env.BUILD_PATH }} - name: Build with Astro - run: ${{ steps.detect-package-manager.outputs.runner }} astro build --site "${{ steps.pages.outputs.origin }}" --base "${{ steps.pages.outputs.base_path }}" + run: | + ${{ steps.detect-package-manager.outputs.runner }} astro build \ + --site "${{ steps.pages.outputs.origin }}" \ + --base "${{ steps.pages.outputs.base_path }}" working-directory: ${{ env.BUILD_PATH }} - name: Upload artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-pages-artifact@v3 with: - name: dist path: ${{ env.BUILD_PATH }}/dist deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} needs: build runs-on: ubuntu-latest + name: Deploy steps: - name: Deploy to GitHub Pages + id: deployment uses: actions/deploy-pages@v4