1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- name: vim-patches
- on:
- schedule:
- - cron: '3 3 * * *'
- workflow_dispatch:
- jobs:
- update-vim-patches:
- runs-on: ubuntu-latest
- permissions:
- contents: write
- pull-requests: write
- env:
- VIM_SOURCE_DIR: ${{ github.workspace }}/vim-src
- VERSION_BRANCH: marvim/ci-version-update
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- steps:
- - uses: actions/checkout@v4
- with:
- fetch-depth: 0
- - uses: actions/checkout@v4
- with:
- repository: vim/vim
- path: ${{ env.VIM_SOURCE_DIR }}
- fetch-depth: 0
- - run: sudo apt-get install libfuse2
- - run: |
- gh release download -R neovim/neovim -p nvim.appimage
- chmod a+x nvim.appimage
- mkdir -p $HOME/.local/bin
- mv nvim.appimage $HOME/.local/bin/nvim
- printf '%s\n' "$HOME/.local/bin" >> $GITHUB_PATH
- - name: Set up git config
- run: |
- git config --global user.name 'marvim'
- git config --global user.email 'marvim@users.noreply.github.com'
- - name: Update src/version.c
- id: update-version
- run: |
- git checkout -b ${VERSION_BRANCH}
- nvim -V1 -es -i NONE +'luafile scripts/vimpatch.lua' +q
- printf 'NEW_PATCHES=%s\n' $([ -z "$(git diff)" ]; echo $?) >> $GITHUB_OUTPUT
- - name: Automatic PR
- if: ${{ steps.update-version.outputs.NEW_PATCHES != 0 }}
- run: |
- git add -u
- git commit -m 'docs: update version.c'
- git push --force https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY} ${VERSION_BRANCH}
- gh pr create --draft --fill --label vim-patch --base ${GITHUB_REF#refs/heads/} --head ${VERSION_BRANCH} || true
|