diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index f2c9e97..2e6c2d9 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -1,12 +1,9 @@ -# Simple workflow for deploying static content to GitHub Pages -name: Deploy static content to Pages +name: Deploy to Pages +# Runs on pushes targeting things that look like the default branch 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 @@ -15,29 +12,37 @@ permissions: 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 + cancel-in-progress: true jobs: - # Single deploy job since we're just deploying - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} + build: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 - - name: Setup Pages - uses: actions/configure-pages@v5 - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 + uses: actions/checkout@v3 + - name: Install Nix + uses: nixbuild/nix-quick-install-action@v21 with: - # Upload entire repository - path: '.' + nix_conf: experimental-features = nix-command flakes + - name: Build site + run: nix build --print-build-logs + - name: Adjust permissions + run: | + chown -R `id -u`:`id -g` ./result + chmod -R a+rwx ./result + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: ./result + deploy: + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + needs: build + steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v4 + uses: actions/deploy-pages@v1