refactor: README theme generation logic (#485) #55
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Generate Theme Readme | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- master | |
paths: | |
- "themes/index.ts" | |
- "scripts/generate-theme-doc.ts" | |
permissions: | |
actions: read | |
checks: read | |
contents: write | |
deployments: read | |
issues: read | |
discussions: read | |
packages: read | |
pages: read | |
pull-requests: write | |
repository-projects: read | |
security-events: read | |
statuses: read | |
jobs: | |
generate-theme-doc: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Setup Node | |
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 | |
with: | |
node-version: "22.x" | |
cache: npm | |
# Fix the unsafe repo error which was introduced by the CVE-2022-24765 git patches. | |
- name: Fix unsafe repo error | |
run: git config --global --add safe.directory ${{ github.workspace }} | |
- name: Run npm install and generate readme | |
run: | | |
npm ci | |
npm run theme-readme-gen | |
env: | |
CI: true | |
- name: Set up Git | |
run: | | |
git config user.name "gh-readme-profile" | |
git config user.email "[email protected]" | |
git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
- name: Push commit to a new branch and create prs | |
run: | | |
branch="auto_update_theme_readme" | |
message="docs(theme): auto update theme readme" | |
body="_This pull request was created automatically._" | |
if [[ "$(git status --porcelain)" != "" ]]; then | |
git branch -D ${branch} || true | |
git checkout -b ${branch} | |
git add themes/README.md | |
git commit --message "${message}" | |
git remote add origin-${branch} "https://github.com/FajarKim/github-readme-profile.git" | |
git push --force --quiet --set-upstream origin-${branch} ${branch} | |
gh pr create --title "${message}" --body "${body}" | |
fi | |
env: | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} |