Skip to content

Deploy Jekyll with GitHub Pages dependencies preinstalled #4

Deploy Jekyll with GitHub Pages dependencies preinstalled

Deploy Jekyll with GitHub Pages dependencies preinstalled #4

# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll with GitHub Pages dependencies preinstalled
on:
# Runs on pushes targeting the default branch
push:
branches: ["master"]
paths:
- docs/**
# 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
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: Support
uses: actions/checkout@v4
with:
repository: masesgroup/WebSitesSupport
path: WebSitesSupport
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Setup IndexNow # Generate files dynamically to prevent them from being leaked in public repositories.
run: echo ${{ secrets.INDEXNOW_KEY }} > ./docs/${{ secrets.INDEXNOW_KEY }}.txt
- name: Build with Jekyll
uses: actions/jekyll-build-pages@v1
with:
source: ./docs/
destination: ./_site
- name: Sitemap lastmod replacer
shell: pwsh
run: ./WebSitesSupport/SitemapLastmodReplacer.ps1 -baseUrl https://knet.masesgroup.com -baseFolder ${{ github.workspace }}/docs/ -inSitemapFile ${{ github.workspace }}/_site/sitemap.xml -outSitemapFile ${{ github.workspace }}/sitemap.xml
- run: sudo cp ${{ github.workspace }}/sitemap.xml ${{ github.workspace }}/_site/sitemap.xml
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
outputs:
page_url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
indexing:
runs-on: ubuntu-latest
needs: deploy
steps:
- name: IndexNow Action
uses: bojieyang/indexnow-action@v2
with:
sitemap-location: '${{ needs.deploy.outputs.page_url }}sitemap.xml'
key: ${{ secrets.INDEXNOW_KEY }}
limit: 10000
timeout: 600000