detect new releases #69
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: detect new releases | |
on: | |
workflow_dispatch: | |
inputs: | |
dry-run: | |
type: boolean | |
description: Run the workflow without creating a pull request | |
required: false | |
default: false | |
schedule: | |
- cron: "0 0 * * *" | |
permissions: {} | |
jobs: | |
detect-new-releases: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
permissions: | |
contents: write | |
pull-requests: write | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
persist-credentials: false | |
- name: setup pnpm | |
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 | |
with: | |
version: 10.5.x | |
- name: setup node | |
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 | |
with: | |
node-version: lts/* | |
- name: check latest release | |
run: pnpm dlx @mojis/cli@latest versions --write-lockfile | |
- name: detect changes for `emojis.lock` | |
id: has-lock-changes | |
run: | | |
# set has-lock-changes to true if emojis.lock has changes | |
if git diff --exit-code emojis.lock; then | |
echo "no changes detected in emojis.lock" | |
echo "has-lock-changes=false" >> $GITHUB_OUTPUT | |
else | |
echo "changes detected in emojis.lock" | |
echo "has-lock-changes=true" >> $GITHUB_OUTPUT | |
fi | |
- name: Check for conflicts | |
id: check-conflicts | |
run: | | |
git fetch origin main | |
git fetch origin new-emoji-release:new-emoji-release || exit 1 | |
if git merge-base --is-ancestor new-emoji-release main; then | |
echo "No conflicts detected." | |
echo "has-conflicts=false" >> $GITHUB_OUTPUT | |
else | |
echo "Conflicts detected between new-emoji-release and main." | |
echo "has-conflicts=true" >> $GITHUB_OUTPUT | |
fi | |
continue-on-error: true | |
- name: create pull request | |
uses: peter-evans/create-pull-request@dd2324fc52d5d43c699a5636bcf19fceaa70c284 # v7.0.7 | |
if: ${{ github.event.inputs.dry-run != 'true' && (steps.has-lock-changes.outputs.has-lock-changes == 'true' || steps.check-conflicts.outputs.has-conflicts == 'true') }} | |
with: | |
commit-message: "feat: new emoji release" | |
title: "feat: new emoji release" | |
body: | | |
I found a new emoji release 🎉. | |
I don't know what they changed, but I'm sure it's awesome 🤖. | |
> [!IMPORTANT] | |
> When you merge this PR, i will trigger a action to build the new emoji release. | |
I will be waiting for your approval 👋. | |
This is an automated PR to update the emoji releases. | |
branch: new-emoji-release | |
add-paths: emojis.lock | |
base: main | |
committer: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | |
author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | |
reviewers: luxass |