Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci(primitives): run less often, run on pull requests #356

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 47 additions & 14 deletions .github/workflows/update-color-primitives.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,30 @@
name: Get/Update Primer Color Primitives

env:
_DEST_DIR: "${{ github.workspace }}/lua/github-theme/palette/primitives"
_JSON_DIR: "${{ github.workspace }}/node_modules/@primer/primitives/dist/json/colors"
_LICENSE_GLOB: "${{ github.workspace }}/node_modules/@primer/primitives/[Ll][Ii][Cc][Ee][Nn][Ss][Ee]*"
_PRIMITIVES_PKGJSON: "${{ github.workspace }}/node_modules/@primer/primitives/package.json"
_DEST_DIR: '${{ github.workspace }}/lua/github-theme/palette/primitives'
_JSON_DIR: '${{ github.workspace }}/node_modules/@primer/primitives/dist/json/colors'
_LICENSE_GLOB: '${{ github.workspace }}/node_modules/@primer/primitives/[Ll][Ii][Cc][Ee][Nn][Ss][Ee]*'
_PRIMITIVES_PKGJSON: '${{ github.workspace }}/node_modules/@primer/primitives/package.json'

on:
workflow_dispatch:
schedule:
# 3x per week (every other day) at 12:40pm Pacific Time
- cron: "40 19 * * 1,3,5"
- cron: '40 19 */14 * *' # Roughly every 14 days (at 12:40pm Pacific Time)
push:
branches:
- '**' # Any branch, but ignore tag pushes
paths:
- .github/workflows/**/*
- scripts/**/*
pull_request:
paths:
- .github/workflows/**/*
- scripts/**/*

jobs:
get-colors:
runs-on: ubuntu-latest
permissions:
permissions: # NOTE: `write` is not applied for PR's from forks
checks: write
contents: write
issues: write
Expand All @@ -28,12 +37,13 @@ jobs:

- uses: actions/setup-node@v4
with:
node-version: "lts/*"
node-version: lts/*
check-latest: true

- run: npm i @primer/primitives@latest

- run: |
- name: Generate Lua files
run: |
set -u +f
shopt -s nocaseglob failglob
license="$(<$_LICENSE_GLOB)"
Expand All @@ -56,15 +66,38 @@ jobs:
EOF
done

- uses: JohnnyMorganz/stylua-action@v4
- name: Check formatting (stylua)
uses: JohnnyMorganz/stylua-action@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: latest
args: -f stylua.toml --verify -- ${{ env._DEST_DIR }}

- uses: peter-evans/create-pull-request@v6
- id: diff
run: git diff --quiet -- "$_DEST_DIR" || echo has_diff=true >> "$GITHUB_OUTPUT"

- if: ${{ steps.diff.outputs.has_diff }}
uses: actions/upload-artifact@v4
with:
name: primitives
path: ${{ env._DEST_DIR }}
retention-days: ${{ (github.event_name != 'push' || github.ref_name != 'main') && 14 || null }}
if-no-files-found: error
overwrite: true

- if: ${{ github.event_name == 'push' || github.event_name == 'schedule' }}
uses: peter-evans/create-pull-request@v6
with:
commit-message: Update color primitives
branch: update-color-primitives
delete-branch: true
title: Update color primitives
branch: generated/primitives/${{ github.ref_name }}
commit-message: 'deps: update color primitives'
title: 'deps: update color primitives'
body: |
| | |
| ----------------- | ------------------------ |
| **Trigger** | ${{ github.event_name }} |
| **Target Branch** | ${{ github.ref_name }} |

> [!NOTE]
> Checks are not automatically run for this PR.
> Close and reopen this PR to run tests and checks (against the newly generated primitives).
Loading