DEV Website V.1.0.0
This commit is contained in:
44
.github/workflows/merge-to-main.yml
vendored
Normal file
44
.github/workflows/merge-to-main.yml
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
name: Merge to main workflows
|
||||
|
||||
# run when a commit is pushed to "source" branch
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
deploy-to-gh-pages:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# checkout to the commit that has been pushed
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v3.0.0
|
||||
with:
|
||||
hugo-version: 'latest'
|
||||
extended: true
|
||||
|
||||
- name: Update Hugo Modules
|
||||
run: hugo mod tidy
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 18
|
||||
|
||||
- name: Install node modules
|
||||
run: |
|
||||
hugo mod npm pack
|
||||
npm install
|
||||
|
||||
- name: Build
|
||||
run: hugo --minify
|
||||
|
||||
# push the generated content into the `gh-pages` branch.
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v4.0.0
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_branch: gh-pages
|
||||
publish_dir: ./public
|
||||
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
|
||||
52
.github/workflows/theme-update.yml
vendored
Normal file
52
.github/workflows/theme-update.yml
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
name: "Theme Update"
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
jobs:
|
||||
update-theme:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
ref: main
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 18
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v3.0.0
|
||||
with:
|
||||
hugo-version: "latest"
|
||||
extended: true
|
||||
|
||||
- name: Update hugo modules
|
||||
run: |
|
||||
# update to latest version of all modules
|
||||
hugo mod get -u
|
||||
|
||||
# update the npm dependencies
|
||||
hugo mod npm pack
|
||||
|
||||
# cleanup go.sum file
|
||||
hugo mod tidy
|
||||
|
||||
- name: Install node modules
|
||||
run: npm install
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
# build the site
|
||||
hugo --minify
|
||||
# remove file generated by the build
|
||||
rm -rf public/
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v7
|
||||
with:
|
||||
base: main
|
||||
title: Update theme
|
||||
labels: automerge
|
||||
Reference in New Issue
Block a user