In order to bypass repository rulesets, the repository must be cloned with a PAT. This commit adds 2 steps to clone the repository, one where the PAT exists and one where it does not. This should allow the action to succeed on main and on forked repositories.
59 lines
1.7 KiB
YAML
59 lines
1.7 KiB
YAML
name: File Generator
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
paths:
|
|
- "src/**/*"
|
|
|
|
env:
|
|
DENO_DIR: deno_cache
|
|
HAS_USERSTYLES_TOKEN: ${{ secrets.USERSTYLES_TOKEN != '' }}
|
|
|
|
jobs:
|
|
generate-health-files:
|
|
runs-on: ubuntu-latest
|
|
name: Generate Health Files
|
|
permissions:
|
|
# Give the default GITHUB_TOKEN write permission to commit and push the
|
|
# added or changed files to the repository.
|
|
contents: write
|
|
|
|
steps:
|
|
- name: Check Out Repository
|
|
uses: actions/checkout@v3
|
|
if: ${{ env.HAS_USERSTYLES_TOKEN }}
|
|
with:
|
|
token: ${{ secrets.USERSTYLES_TOKEN }}
|
|
ref: ${{ github.ref }}
|
|
|
|
- name: Check Out Repository (Fork)
|
|
uses: actions/checkout@v3
|
|
if: "!${{ env.HAS_USERSTYLES_TOKEN }}"
|
|
with:
|
|
ref: ${{ github.ref }}
|
|
|
|
- name: Set up Deno
|
|
uses: denoland/setup-deno@v1
|
|
with:
|
|
deno-version: v1.x
|
|
|
|
- name: Cache Deno dependencies
|
|
uses: actions/cache@v3
|
|
with:
|
|
key: ${{ hashFiles('src/generate/deno.lock') }}
|
|
path: ${{ env.DENO_DIR }}
|
|
|
|
- name: Update Health Files
|
|
working-directory: src/generate
|
|
run: ./generate.ts
|
|
|
|
- name: Push Changes
|
|
uses: stefanzweifel/git-auto-commit-action@v4
|
|
if: ${{ github.repository == 'catppuccin/userstyles' && github.ref == 'refs/heads/main' && env.HAS_USERSTYLES_TOKEN }}
|
|
with:
|
|
commit_message: "chore: generate health files"
|
|
commit_author: "github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>"
|
|
branch: ${{ github.ref }}
|
|
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
|