Create Release Pull Request #7
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: Create Release Pull Request | |
on: | |
# THIS WORKFLOW SHOULD NEVER BE TRIGGERED ON A PUSH EVENT. IF TRIGGERED ON A | |
# PUSH EVENT IT MAY CREATE AN ENDLESS STREAM OF 'version bump' COMMITS. | |
workflow_dispatch: | |
schedule: | |
# "At 00:00 on Sunday" (https://crontab.guru/once-a-week) | |
- cron: '0 0 * * 0' | |
# This Workflow can be triggered manually through the GitHub UI or API. For the | |
# API use the following request: | |
# curl -X POST \ | |
# -H "Authorization: Bearer <token>" \ | |
# -d '{"ref":"develop"}' \ | |
# https://api.github.com/repos/simple-icons/simple-icons/actions/workflows/create-release.yml/dispatches | |
# Replacing <token> by a personal access token with scope `public_repo` | |
jobs: | |
release-pr: | |
runs-on: ubuntu-latest | |
if: github.event_name != 'push' | |
outputs: | |
did-create-pr: ${{ steps.release.outputs.did-create-pr }} | |
new-version: ${{ steps.release.outputs.new-version }} | |
steps: | |
- uses: LitoMore/simple-icons-release-action@b14cfca88575c04ea2a90ef282ca16d275cb2715 | |
id: release | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
version-bump: | |
runs-on: ubuntu-latest | |
needs: release-pr | |
if: | | |
github.event_name != 'push' && | |
needs.release-pr.outputs.did-create-pr == 'true' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
# Ensure the commit can be pushed regardless of branch protections (must belong to an admin of this repo) | |
token: ${{ secrets.RELEASE_TOKEN }} | |
# Ensure we are checked out on the develop branch | |
ref: develop | |
- name: Use Node.js 20.x | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20.x | |
- name: Cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: Bump version | |
run: | | |
npm version --no-commit-hooks --no-git-tag-version \ | |
"${{ needs.release-pr.outputs.new-version }}" | |
- name: Install dependencies | |
run: npm i | |
- name: Update major version in CDN URLs | |
run: node ./scripts/release/update-cdn-urls.js | |
- name: Update SVGs count milestone | |
run: node ./scripts/release/update-svgs-count.js | |
- name: Update slugs table | |
run: node ./scripts/release/update-slugs-table.js | |
- name: Update SDK Typescript definitions | |
run: node ./scripts/release/update-sdk-ts-defs.js | |
- name: Commit version bump | |
uses: stefanzweifel/git-auto-commit-action@v5.0.0 | |
with: | |
commit_message: version bump | |
commit_user_name: 'github-actions[bot]' | |
commit_user_email: 'github-actions[bot]@users.noreply.github.com' | |
commit_author: 'github-actions[bot] <github-actions[bot]@users.noreply.github.com>' |