Skip to content

update workflows - Pinning GitHub Actions #186

update workflows - Pinning GitHub Actions

update workflows - Pinning GitHub Actions #186

Workflow file for this run

name: CI - Push
permissions:
contents: read
pull-requests: write
'on':
push:
branches:
- main
jobs:
lint:
name: Run Linters
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Setup Node.JS
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65
with:
node-version: '22'
- name: Cache node modules
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57
env:
cache-name: cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Website - Install dependencies
run: cd website && npm ci
- id: yamllint
name: Yamllint
uses: reviewdog/action-yamllint@3f44a3c4def1e6fbbae499295b94cb6b596ce677
with:
github_token: ${{ secrets.github_token }}
reporter: github-check
yamllint_flags: '.'
fail_level: error
filter_mode: nofilter
- if: always()
id: eslint
name: ESLint
uses: reviewdog/action-eslint@9b5b0150e399e1f007ee3c27bc156549810a64e3
with:
github_token: ${{ secrets.github_token }}
reporter: github-check
eslint_flags: --ext js,jsx .
fail_level: error
filter_mode: nofilter
workdir: website
prettier:
name: Prettier - Enforce code style
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Setup Node.JS
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65
with:
node-version: '22'
- name: Cache node modules
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57
env:
cache-name: cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install dependencies
run: npm ci
- id: prettier
name: Prettier
uses: creyD/prettier_action@31355f8eef017f8aeba2e0bc09d8502b13dbbad1
with:
dry: true
prettier_options: --write .
env:
GITHUB_TOKEN: ${{ secrets.github_token }}
gh-pages:
name: Deploy to GH Pages
needs:
- lint
- prettier
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
ref: ${{ github.head_ref }}
- name: Setup Node.JS
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65
with:
node-version: '22'
- name: Cache node modules
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57
env:
cache-name: cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install dependencies
run: npm ci
- name: Website - Install dependencies
run: cd website && npm ci
- name: Website - Build
run: cd website && npm run build
- name: Create .nojekyll file
run: touch website/build/.nojekyll
- name: Deploy to GitHub Pages
uses: s0/git-publish-subdir-action@92faf786f11dfa44fc366ac3eb274d193ca1af7e
env:
REPO: self
BRANCH: gh-pages
FOLDER: website/build
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MESSAGE: '🤖 Deploy static site for change: {msg}'
SKIP_EMPTY_COMMITS: true