Build & Deploy kiko.io #271
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build & Deploy kiko.io | |
on: | |
push: | |
branches: | |
- master | |
schedule: | |
- cron: '0 0 * * *' # Run at the end of every day | |
workflow_dispatch: # Run workflow manually, through the Github Actions Workflow page directly | |
jobs: | |
#=================================================== | |
build: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write # Give the default GITHUB_TOKEN write permission to commit and push the changed files back to the repository. | |
steps: | |
#--------------------------------------------------- | |
- uses: actions/checkout@v4 | |
- name: Setup Node.js 20.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
cache: 'npm' | |
- run: npm install -force | |
#--------------------------------------------------- | |
- name: Run Grunt & Hexo Generate | |
run: npm run generate | |
- name: Run Pagefind | |
run: npm_config_yes=true npx pagefind | |
#--------------------------------------------------- | |
- name: Commit Changes on MD Files (FM:updated) | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: Apply Hexo Generation Changes | |
file_pattern: 'source/*.md' | |
#--------------------------------------------------- | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: ./docs | |
#=================================================== | |
deploy: | |
runs-on: ubuntu-latest | |
needs: build | |
permissions: | |
pages: write | |
id-token: write | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 | |
#=================================================== | |
finish: | |
runs-on: ubuntu-latest | |
needs: deploy | |
steps: | |
#--------------------------------------------------- | |
- uses: actions/checkout@v4 | |
- name: Setup Node.js 20.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
cache: 'npm' | |
- run: npm install -force | |
#--------------------------------------------------- | |
- name: Send Webmentions | |
run: npm run webmention # latest published post only |