Files
bridget/.github/workflows/artifacts.yml
Sped0n 49dfd54f23 fix(artifacts.yml): only commit changes if there are any to avoid unnecessary commits
The previous commit message was updated to only commit changes if there are any. This is done to avoid unnecessary commits when there are no changes in the artifacts.
2023-11-04 20:10:48 +08:00

78 lines
1.9 KiB
YAML

name: 'Update artifacts'
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: write
jobs:
filter:
runs-on: ubuntu-latest
name: Filter
outputs:
any_changed: ${{ steps.changed-files-specific.outputs.any_changed }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Get changed files in scope
id: changed-files-specific
uses: tj-actions/changed-files@v40
with:
files: |
package.json
assets/**
build:
timeout-minutes: 30
runs-on: ubuntu-latest
name: Build
needs: [filter]
if: |
github.ref == 'refs/heads/main' &&
github.event.repository.fork == false &&
needs.filter.outputs.any_changed == 'true'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.114.0'
extended: true
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8
- name: Get pnpm store directory
id: pnpm-cache
run: echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Setup pnpm cache
uses: actions/cache@v3
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: ${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install
- name: ESlint
run: pnpm run lint
- name: Build
run: |
pnpm run build
git config --global user.email "noreply@github.com"
git config --global user.name "CI"
git diff --quiet || (git add -A && git commit -m "build: update bundled artifacts [skip ci]")
git push