📈 Update Inject Markdown #60
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: " 📈 Update Inject Markdown" | |
on: | |
workflow_dispatch: | |
inputs: | |
base: | |
description: The Base Ref to apply the diff | |
required: false | |
default: "main" | |
push: | |
branches: | |
- main | |
paths: | |
- "**/package.json" | |
- "**/package-lock.json" | |
schedule: | |
- cron: "0 7 * * *" | |
jobs: | |
update-inject-markdown: | |
if: github.repository_owner == 'streetsidesoftware' | |
runs-on: ubuntu-latest | |
env: | |
NEW_BRANCH: update-inject-markdown-${{ inputs.base || 'main' }} | |
REF_BRANCH: ${{ inputs.base || 'main' }} | |
steps: | |
- name: Start | |
env: | |
EVENT_INPUTS: ${{ toJson(github.event.inputs) }} | |
run: | | |
echo "$EVENT_INPUTS" | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ env.REF_BRANCH }} | |
- name: Setup | |
uses: ./.github/actions/setup | |
with: | |
node-version: 18.x | |
- name: Install | |
run: | | |
npm i | |
- name: Old Version | |
run: echo IMD_VERSION_OLD=$(npx inject-markdown -V) >> $GITHUB_ENV | |
- name: Update inject-markdown to latest | |
run: | | |
npm i inject-markdown@latest | |
- name: Version | |
run: echo IMD_VERSION=$(npx inject-markdown -V) >> $GITHUB_ENV | |
- name: Minor Versions | |
run: | | |
echo IMD_MINOR_OLD=$(echo '"${{ env.IMD_VERSION_OLD }}"' | jq 'sub("\\.[0-9]+$";"")') >> $GITHUB_ENV | |
echo IMD_MINOR_NEW=$(echo '"${{ env.IMD_VERSION }}"' | jq 'sub("\\.[0-9]+$";"")') >> $GITHUB_ENV | |
- name: Determine Update type | |
env: | |
type: ${{ (env.IMD_MINOR_OLD == env.IMD_MINOR_NEW && 'fix') || 'feat' }} | |
run: | | |
echo PR_TYPE=$type >> $GITHUB_ENV | |
- name: Install | |
run: npm install | |
- name: Update Readme | |
run: | | |
npm run build:readme | |
npm run lint:fix | |
- name: Git Status | |
id: git-status | |
uses: streetsidesoftware/actions/public/dirty@v1 | |
- name: Echo git_status | |
env: | |
REPORT: | | |
Dirty: ${{ steps.git-status.outputs.isDirty && 'yes' || 'no' }} | |
Current Version: ${{ env.IMD_VERSION }} | |
Old Version: ${{ env.IMD_VERSION_OLD }} | |
run: | | |
echo "$REPORT" | |
- name: Version Msg | |
id: IMD_VERSION_msg | |
uses: streetsidesoftware/actions/public/output@v1 | |
with: | |
value: Inject Markdown version (${{ env.IMD_VERSION }}) | |
- name: Commit Message | |
id: commit_message | |
uses: streetsidesoftware/actions/public/output@v1 | |
with: | |
value: >- | |
Update ${{ steps.IMD_VERSION_msg.outputs.value }} | |
- name: Gen PR Body | |
id: body | |
uses: streetsidesoftware/actions/public/pr-body@v1 | |
with: | |
title: ${{ steps.commit_message.outputs.value }} | |
message: | | |
**Inject Markdown Version:** ${{ env.IMD_VERSION_OLD }} -> ${{ env.IMD_VERSION }} | |
**Type:** ${{ env.PR_TYPE }} | |
path: >- | |
package.json | |
- name: Show Summary | |
uses: streetsidesoftware/actions/public/summary@v1 | |
with: | |
text: | | |
${{ steps.body.outputs.body }} | |
**Status:** ${{ steps.git-status.outputs.isDirty && 'dirty' || 'clean' }} | |
## Changes: | |
``` | |
${{ steps.git-status.outputs.status }} | |
``` | |
- name: PR | |
if: steps.git-status.outputs.isDirty | |
uses: streetsidesoftware/actions/.github/actions/pr@v1 | |
with: | |
commit-message: "${{ env.PR_TYPE }}: ${{ steps.commit_message.outputs.value }}" | |
branch: ${{ env.NEW_BRANCH }} | |
base: ${{ env.REF_BRANCH }} | |
title: "${{ env.PR_TYPE }}: ${{ steps.commit_message.outputs.value }}" | |
body: ${{ steps.body.outputs.body }} | |
app_id: ${{ secrets.AUTOMATION_APP_ID }} | |
app_private_key: ${{ secrets.AUTOMATION_PRIVATE_KEY }} |