91 lines
2.3 KiB
YAML
91 lines
2.3 KiB
YAML
name: PR Workflows
|
|
|
|
# Run action on pull request event
|
|
on: [pull_request]
|
|
|
|
|
|
jobs:
|
|
# Build exampleSite
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# checkout to the commit that has been pushed
|
|
- uses: actions/checkout@v4.1.1
|
|
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 18
|
|
|
|
- name: Install node modules
|
|
run: npm install
|
|
|
|
- name: Setup Hugo
|
|
uses: peaceiris/actions-hugo@v3.0.0
|
|
with:
|
|
hugo-version: 'latest'
|
|
extended: true
|
|
|
|
- name: Build
|
|
run: |
|
|
hugo --minify
|
|
|
|
|
|
lighthouse-check:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Waiting for Netlify Preview
|
|
uses: kamranayub/wait-for-netlify-action@v2.1.1
|
|
id: preview
|
|
with:
|
|
site_name: "toha"
|
|
max_timeout: 300
|
|
env:
|
|
NETLIFY_TOKEN: ${{secrets.NETLIFY_TOKEN}}
|
|
|
|
- name: Run Lighthouse
|
|
uses: foo-software/lighthouse-check-action@v12.0.1
|
|
id: lighthouseCheck
|
|
with:
|
|
gitHubAccessToken: ${{secrets.GITHUB_TOKEN}}
|
|
emulatedFormFactor: 'all'
|
|
prCommentEnabled: true
|
|
prCommentSaveOld: true
|
|
timeout: 5
|
|
urls: "${{ steps.preview.outputs.url }},${{ steps.preview.outputs.url }}/posts/,${{ steps.preview.outputs.url }}/posts/markdown-sample/,${{ steps.preview.outputs.url }}/posts/shortcodes/"
|
|
|
|
# Check for any broken links
|
|
markdown-link-check:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# checkout to latest commit
|
|
- uses: actions/checkout@master
|
|
|
|
- name: Waiting for Netlify Preview
|
|
uses: kamranayub/wait-for-netlify-action@v2.1.1
|
|
id: preview
|
|
with:
|
|
site_name: "toha"
|
|
max_timeout: 300
|
|
env:
|
|
NETLIFY_TOKEN: ${{secrets.NETLIFY_TOKEN}}
|
|
|
|
- name: Link Checker
|
|
id: lychee
|
|
uses: lycheeverse/lychee-action@v2.1.0
|
|
env:
|
|
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
|
with:
|
|
args: "--verbose --exclude-mail ${{steps.preview.outputs.url}} --exclude=['https://www.udemy.com/']"
|
|
output: lychee/out.md
|
|
|
|
- name: Comment Broken Links
|
|
if: ${{ steps.lychee.outputs.exit_code != 0 }}
|
|
uses: marocchino/sticky-pull-request-comment@v2
|
|
with:
|
|
path: lychee/out.md
|
|
|
|
- name: Fail workflow if broken links found
|
|
if: ${{ steps.lychee.outputs.exit_code != 0 }}
|
|
run: exit 1
|