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