This commit is contained in:
90
.github/workflows/pull-request.yml
vendored
Normal file
90
.github/workflows/pull-request.yml
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
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
|
||||
Reference in New Issue
Block a user