mirror of
https://github.com/stoatchat/for-web.git
synced 2026-07-20 03:33:32 -04:00
07663a9df4
* chore: Update mise tools and add generateemoji task Signed-off-by: Jacob Schlecht <dadadah@echoha.us> * fix: Update mise in runners Signed-off-by: Jacob Schlecht <dadadah@echoha.us> * fix: Add minimum version for mise Signed-off-by: Jacob Schlecht <dadadah@echoha.us> * fix: Set a minimum that works with runners Signed-off-by: Jacob Schlecht <dadadah@echoha.us> * fix: Also fix prettier bug Signed-off-by: Jacob Schlecht <dadadah@echoha.us> * fix: Update pnpm to 11 Signed-off-by: Jacob Schlecht <dadadah@echoha.us> * fix: Actually run the typecheck Signed-off-by: Jacob Schlecht <dadadah@echoha.us> * fix: Update playwright test to fix runner bug Signed-off-by: Jacob Schlecht <dadadah@echoha.us> * fix: Run pnpm 10 to 11 migration script, add eslint-config-prettier Signed-off-by: Jacob Schlecht <dadadah@echoha.us> * chore: Update dockerfile Signed-off-by: Jacob Schlecht <dadadah@echoha.us> * fix: Fix all the typecheck errors! Disable eslint on save Signed-off-by: Jacob Schlecht <dadadah@echoha.us> --------- Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
93 lines
2.8 KiB
YAML
93 lines
2.8 KiB
YAML
name: Release Please
|
|
|
|
on:
|
|
push:
|
|
branches: [main] # updates/opens the release PR when commits land on main
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
id-token: write
|
|
|
|
concurrency:
|
|
group: release-please
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
release-please:
|
|
name: Release Please
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
release_created: ${{ steps.rp.outputs.release_created }}
|
|
steps:
|
|
- id: app-token
|
|
uses: actions/create-github-app-token@v2
|
|
with:
|
|
app-id: ${{ secrets.GH_STOAT_RELEASE_APP_ID }}
|
|
private-key: ${{ secrets.GH_STOAT_RELEASE_APP_PRIVATE_KEY }}
|
|
- id: rp
|
|
uses: googleapis/release-please-action@v4
|
|
with:
|
|
token: ${{ steps.app-token.outputs.token }}
|
|
config-file: release-please-config.json
|
|
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
token: ${{ steps.app-token.outputs.token }}
|
|
submodules: recursive
|
|
|
|
- name: Generate i18n catalog
|
|
if: ${{ steps.rp.outputs.prs_created == 'true' || steps.rp.outputs.prs_updated == 'true' }}
|
|
env:
|
|
GH_TOKEN: ${{ steps.app-token.outputs.token }}
|
|
RP_PR_OUTPUT_JSON: ${{ steps.rp.outputs.prs }}
|
|
run: |
|
|
PR_NUMBER=$(echo "$RP_PR_OUTPUT_JSON" | jq -r '.[0].number')
|
|
gh pr checkout "$PR_NUMBER"
|
|
|
|
- name: Setup Mise
|
|
if: ${{ steps.rp.outputs.prs_created == 'true' || steps.rp.outputs.prs_updated == 'true' }}
|
|
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Build and update i18n catalog
|
|
if: ${{ steps.rp.outputs.prs_created == 'true' || steps.rp.outputs.prs_updated == 'true' }}
|
|
run: |
|
|
mise install:frozen
|
|
mise build:deps
|
|
mise lingui
|
|
|
|
if git diff --quiet; then
|
|
echo "No changes to i18n catalog"
|
|
else
|
|
git config user.name "Stoat CI"
|
|
git config user.email "stoat-ci@users.noreply.github.com"
|
|
git add -A
|
|
git commit --signoff -m "chore: generate i18n catalog"
|
|
git push
|
|
fi
|
|
|
|
publish-stable:
|
|
name: Publish release to stable branch
|
|
needs: release-please
|
|
if: needs.release-please.outputs.release_created == 'true'
|
|
runs-on: ubuntu-latest
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
steps:
|
|
- id: app-token
|
|
uses: actions/create-github-app-token@v2
|
|
with:
|
|
app-id: ${{ secrets.GH_STOAT_RELEASE_APP_ID }}
|
|
private-key: ${{ secrets.GH_STOAT_RELEASE_APP_PRIVATE_KEY }}
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
token: ${{ steps.app-token.outputs.token }}
|
|
- run: |
|
|
git fetch origin stable:stable
|
|
git push origin main:stable -f
|