mirror of
https://github.com/chylex/IntelliJ-IdeaVim.git
synced 2026-05-04 02:03:07 +02:00
Move the author update script from Kotlin to TypeScript, including tests. Changes: - Create scripts-ts/src/updateAuthors.ts - Create scripts-ts/src/updateAuthors.test.ts with vitest - Add vitest to package.json - Create scriptsTests.yml workflow for running tests - Update updateAuthors.yml workflow to use Node.js - Remove Kotlin implementation and test - Remove unused github-api dependency 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
66 lines
1.9 KiB
YAML
66 lines
1.9 KiB
YAML
# Updates AUTHORS.md with new contributors from recent commits
|
|
|
|
name: Update Authors
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: '0 9 * * *'
|
|
# Workflow run on push is disabled to avoid conflicts when merging PR
|
|
# push:
|
|
# branches: [ master ]
|
|
|
|
jobs:
|
|
build:
|
|
|
|
runs-on: ubuntu-latest
|
|
if: github.repository == 'JetBrains/ideavim'
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 300
|
|
# See end of file updateChangeslog.yml for explanation of this secret
|
|
ssh-key: ${{ secrets.PUSH_TO_PROTECTED_BRANCH_SECRET }}
|
|
|
|
- name: Get tags
|
|
run: git fetch --tags origin
|
|
|
|
- name: Set up Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
|
|
- name: Install dependencies
|
|
run: npm install
|
|
working-directory: scripts-ts
|
|
|
|
# The last successful job was marked with a tag
|
|
- name: Get commit with last workflow
|
|
run: |
|
|
echo "LAST_COMMIT=$(git rev-list -n 1 tags/workflow-authors)" >> $GITHUB_ENV
|
|
|
|
- name: Update authors
|
|
id: update_authors
|
|
run: npx tsx src/updateAuthors.ts ..
|
|
working-directory: scripts-ts
|
|
env:
|
|
SUCCESS_COMMIT: ${{ env.LAST_COMMIT }}
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Commit changes
|
|
uses: stefanzweifel/git-auto-commit-action@v4
|
|
with:
|
|
commit_message: Add ${{ steps.update_authors.outputs.authors }} to contributors list
|
|
commit_user_name: IdeaVim Bot
|
|
commit_user_email: maintainers@ideavim.dev
|
|
commit_author: IdeaVim Bot <maintainers@ideavim.dev>
|
|
file_pattern: AUTHORS.md
|
|
|
|
- name: Update tags
|
|
run: |
|
|
git tag --delete workflow-authors || true
|
|
git push origin :refs/tags/workflow-authors || true
|
|
git tag workflow-authors
|
|
git push origin workflow-authors
|