diff options
Diffstat (limited to '.github/workflows/vim_patches.yml')
-rw-r--r-- | .github/workflows/vim_patches.yml | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/.github/workflows/vim_patches.yml b/.github/workflows/vim_patches.yml new file mode 100644 index 0000000000..711ddae815 --- /dev/null +++ b/.github/workflows/vim_patches.yml @@ -0,0 +1,55 @@ +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 'version.c: update [skip ci]' + 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 |