Skip to content

detect new releases #63

detect new releases

detect new releases #63

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@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f # v7.0.6
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