Commit: CI: Add Github runner for Cygwin
Christian Brabandt <[email protected]> Fri, 7 Aug 2026 22:30:04 +0200
| Newsgroups | gmane.editors.vim.devel |
|---|---|
| Message-ID | <[email protected]> |
CI: Add Github runner for Cygwin Commit: https://github.com/vim/vim/commit/a6be0d496a03261bb3c81dcfd1189fbec89c1352 Author: Hirohito Higashi <[email protected]> Date: Fri Aug 7 20:12:39 2026 +0000 CI: Add Github runner for Cygwin Vim can be built for Cygwin with the Unix Makefile, but nothing covers it. The Windows runner builds with MSVC and MinGW only, and the Cirrus CI job that was removed in 0abffbff ran FreeBSD alone. Add a GitHub Actions workflow that configures and builds under Cygwin. It runs once per day instead of per push, and skips the run when nothing was committed since the previous one, because the Cygwin runner is slow. Only the tiny test suite, the unit tests and the libvterm tests are run: the script tests need sockets, PowerShell, network access and POSIX file permissions, which do not behave the same under Cygwin. closes: #20970 Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Signed-off-by: Hirohito Higashi <[email protected]> Signed-off-by: Christian Brabandt <[email protected]> diff --git a/.github/workflows/ci-cygwin.yml b/.github/workflows/ci-cygwin.yml new file mode 100644 index 000000000..e4737967b --- /dev/null +++ b/.github/workflows/ci-cygwin.yml @@ -0,0 +1,118 @@ +name: CI for Cygwin + +on: + schedule: + - cron: '30 23 * * *' # Run once per day, Cygwin runners are slow + workflow_dispatch: + +permissions: + contents: read # to fetch code (actions/checkout) + +jobs: + # Skip the run when nothing was committed since the previous one. + check: + runs-on: ubuntu-24.04 + + outputs: + changed: ${{ steps.check.outputs.changed }} + + steps: + - name: Look for commits in the last day + id: check + env: + GH_TOKEN: ${{ github.token }} + run: | + date=$(gh api "repos/${{ github.repository }}/commits?sha=${{ github.ref_name }}" \ + --jq '.[0].commit.committer.date') + if [ "$(date -d "${date}" +%s)" -gt "$(date -d '25 hours ago' +%s)" ]; then + echo "changed=true" >> "$GITHUB_OUTPUT" + else + echo "changed=false" >> "$GITHUB_OUTPUT" + fi + + cygwin: + needs: check + if: needs.check.outputs.changed == 'true' || github.event_name == 'workflow_dispatch' + + runs-on: windows-2022 + + env: + # Keep Cygwin out of the Windows PATH: the post-checkout cleanup would + # run Cygwin's git on a Windows path and fail. A login shell sets up + # the Cygwin PATH, CHERE_INVOKING keeps it in the workspace. + CHERE_INVOKING: 1 + CYGWIN_NOWINPATH: 1 + SRCDIR: ./src + TERM: xterm + + defaults: + run: + shell: C: -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/vim_dev/E1wsRCe-000jAN-O6%40256bit.org.