diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b6f4287..de86656 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,66 +2,43 @@ name: Build Eleventy on: push: + paths-ignore: + - '/maintenance/**' + - '/README.md' branches: - main - paths-ignore: - - 'maintenance/**' - - 'README.md' + workflow_dispatch: pull_request: paths-ignore: - - 'maintenance/**' - - 'README.md' - workflow_dispatch: + - '/maintenance/**' + - '/README.md' + +permissions: + contents: write jobs: build: - runs-on: - - arch-linux + runs-on: arch-linux + + strategy: + matrix: + node-version: [24.x] steps: - - name: Checkout repository - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - - name: Set up Node.js + - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: - node-version: "24" + node-version: ${{ matrix.node-version }} - - name: Install dependencies - run: npm ci - - - name: Build site - run: npm run build - - - name: Publish to forgejo-pages - if: github.ref == 'refs/heads/main' - env: - TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Install dependencies & build run: | - git config --global user.name "Forgejo Actions" - git config --global user.email "actions@localhost" + npm ci + npm run build - REPO_URL="https://inspiran.beetal-castor.ts.net/${GITHUB_REPOSITORY}.git" - AUTH_URL="$(printf '%s\n' "$REPO_URL" | sed "s#^https://#https://oauth2:${TOKEN}@#")" - - git clone "$AUTH_URL" deploy - cd deploy - - git fetch origin forgejo-pages || true - - if git ls-remote --exit-code --heads origin forgejo-pages >/dev/null 2>&1; then - git checkout -B forgejo-pages origin/forgejo-pages - else - git checkout --orphan forgejo-pages - git rm -rf . || true - fi - - find . -mindepth 1 -maxdepth 1 ! -name .git -exec rm -rf {} + - - cp -a ../docs/. . - - git add -A - if ! git diff --cached --quiet; then - git commit -m "Deploy ${GITHUB_SHA}" - git push origin forgejo-pages - fi \ No newline at end of file + - name: Deploy + uses: peaceiris/actions-gh-pages@v4 + with: + publish_dir: ./docs + github_token: ${{ secrets.GITHUB_TOKEN }}