Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test some more things in CI #469

Merged
merged 3 commits into from Jul 24, 2022
Merged

Test some more things in CI #469

merged 3 commits into from Jul 24, 2022

Commits on Jul 23, 2022

  1. Test some more things in CI

    - Test all GOOS/GOARCH combinations by looping over "go tool dist list";
    this just tests if it compiles.
    
    - Add a Vagrant box to test Debian 6 / Linux 2.6.32; this was adapted
    from @horahoradev's patch at #434.
    
    - Update the minimum version requirements: we test Linux 2.6.32 now and
      turns out that's also the minimum version [Go supports] in recent
      releases, so just set it to that.
    
      Need Go 1.16 for retract in go.mod. I don't know, maybe we can just
      remove the retract? Latest Debian ships with Go 1.15.
    
      [Go supports]: golang/go#45964
    
    - Test both Go 1.16 and 1.18 (the lowest supported version and newest
      version). I guess we could also test 1.17, but the CI already takes
      somewhat long and I can't recall ever having a situation where an
      intermediate version failed.
    
    - Test macOS 11 and 12; macOS 10.15 will (probably) end support in
      November, so probably not worth supporting this. GitHub will [remove]
      support for this at the end of August.
    
      [remove]: https://github.blog/changelog/2022-07-20-github-actions-the-macos-10-15-actions-runner-image-is-being-deprecated-and-will-be-removed-by-8-30-22/
    
    - Test OpenBSD, NetBSD.
    
    - Move "lint" to its own YAML file.
    
    Future work:
    
    - Actually run tests for all systems Go supports. Bit pointless right
      now as many of these don't do anything. Currently untested are
      Solaris, illumios, plan9, AIX, Android, iOS, DragonflyBSD, WASM.
    
      Some of these might be difficult (AIX, iOS, Android), but haven't
      looked in to it. I tried setting up Solaris with the
      vmactions/solaris, but it doesn't seem to have an easy way to install
      Go.
    
    - GitHub only [supports] Windows Server 2019 and 2022; probabably also
      want to test Server 2016, but GitHub dropped support for this. Can
      maybe use AppVeyor(?)
    
      [supports]: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#choosing-github-hosted-runners
    
    - Could maybe test older versions of BSD, too. Not sure of it's worth
      it.
    arp242 committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    abefc16 View commit details
    Browse the repository at this point in the history
  2. Skip TestFsnotifyMultipleOperations on NetBSD

    This test doesn't seem to work; I'm sure it passed at least once in the
    CI, but locally I can't seem to get it to work.
    
    Fails with:
    
    	=== RUN   TestFsnotifyMultipleOperations
        	integration_test.go:114: event received: "/tmp/fsnotify2194826986/TestFsnotifySeq.testfile": CREATE
        	integration_test.go:114: event received: "/tmp/fsnotify2194826986/TestFsnotifySeq.testfile": WRITE
        	integration_test.go:114: event received: "/tmp/fsnotify2194826986/TestFsnotifySeq.testfile": REMOVE|RENAME
        	integration_test.go:114: event received: "/tmp/fsnotify2194826986/TestFsnotifySeq.testfile": CREATE
        	integration_test.go:186: incorrect number of rename+delete events received after 500 ms (2 vs 1)
        	integration_test.go:114: event received: "/tmp/fsnotify2194826986/TestFsnotifySeq.testfile": REMOVE
        	integration_test.go:114: event received: "/tmp/fsnotify2194826986": REMOVE|WRITE
    
    For reference, this is the output on Linux and OpenBSD (the output is
    identical):
    
    	=== RUN   TestFsnotifyMultipleOperations
        	integration_test.go:114: event received: "/tmp/fsnotify989736723/TestFsnotifySeq.testfile": CREATE
        	integration_test.go:114: event received: "/tmp/fsnotify989736723/TestFsnotifySeq.testfile": WRITE
        	integration_test.go:114: event received: "/tmp/fsnotify989736723/TestFsnotifySeq.testfile": RENAME
        	integration_test.go:114: event received: "/tmp/fsnotify989736723/TestFsnotifySeq.testfile": CREATE
        	integration_test.go:190: calling Close()
        	integration_test.go:192: waiting for the event channel to become closed...
        	integration_test.go:195: event channel closed
    arp242 committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    32ac33e View commit details
    Browse the repository at this point in the history
  3. Fix "too many open files" on Debian 6, maybe

    I guess this started failing after I rebased on main; let's see if a
    small sleep works to clean up the file descriptors.
    arp242 committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    ea15766 View commit details
    Browse the repository at this point in the history