Skip to content

Add NewBufferedWatcher() #747

Add NewBufferedWatcher()

Add NewBufferedWatcher() #747

Workflow file for this run

name: 'test'
on:
pull_request:
paths: ['**.go', 'go.mod', '.github/workflows/*']
push:
branches: ['main', 'aix']
jobs:
# Test Windows and Linux with the latest Go version and the oldest we support.
test:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
go:
- '1.17'
- '1.21'
runs-on: ${{ matrix.os }}
steps:
- name: checkout
uses: actions/checkout@v3
- name: setup Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}
- name: test
run: |
go test -parallel 1 -race ./...
# Test gccgo
testgcc:
runs-on: ubuntu-22.04
name: test (ubuntu-22.04, gccgo 12.1)
steps:
- name: checkout
uses: actions/checkout@v3
- name: test
run: |
sudo apt-get -y install gccgo-12
go-12 test -parallel 1 ./...
# Test only the latest Go version on macOS; we use the macOS builders for BSD
# and illumos, and GitHub doesn't allow many of them to run concurrently. If
# it works on Windows and Linux with Go 1.17, then it probably does on macOS
# too.
testMacOS:
name: test
strategy:
fail-fast: false
matrix:
os:
- macos-11
- macos-13
go:
- '1.21'
runs-on: ${{ matrix.os }}
steps:
- name: checkout
uses: actions/checkout@v3
- name: setup Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}
- name: test
run: |
go test -parallel 1 -race ./...
# OpenBSD; no -race as the VM doesn't include the comp set.
#
# TODO: should probably add this, but on my local machine the tests time out
# with -race as the waits aren't long enough (OpenBSD is kind of slow),
# so should probably look into that first. Go 1.19 is supposed to have a
# much faster race detector, so maybe waiting until we have that is
# enough.
testOpenBSD:
runs-on: macos-12
name: test (openbsd, 1.17)
steps:
- uses: actions/checkout@v3
- name: test (openbsd, 1.17)
id: test
uses: vmactions/openbsd-vm@v0
with:
prepare: pkg_add go
run: |
useradd -mG wheel action
su action -c 'go test -parallel 1 ./...'
# NetBSD
testNetBSD:
runs-on: macos-12
name: test (netbsd, 1.20)
steps:
- uses: actions/checkout@v3
- name: test (netbsd, 1.20)
id: test
uses: vmactions/netbsd-vm@v0
with:
prepare: pkg_add go
# TODO: no -race for the same reason as OpenBSD (the timing; it does run).
run: |
useradd -mG wheel action
su action -c 'go120 test -parallel 1 ./...'
# illumos
# testillumos:
# runs-on: macos-12
# name: test (illumos, 1.19)
# steps:
# - uses: actions/checkout@v3
# - name: test (illumos, 1.19)
# id: test
# uses: papertigers/illumos-vm@r38
# with:
# prepare: |
# pkg install go-119
# run: |
# useradd action
# export GOCACHE=/tmp/go-cache
# export GOPATH=/tmp/go-path
# su action -c '/opt/ooce/go-1.19/bin/go test -parallel 1 ./...'
# Older Debian 6, for old Linux kernels.
testDebian6:
runs-on: macos-12
name: test (debian6, 1.19)
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v3
- name: Cache Vagrant boxes
uses: actions/cache@v3
with:
path: ~/.vagrant.d/boxes
key: ${{ runner.os }}-vagrant-${{ hashFiles('Vagrantfile') }}
restore-keys: |
${{ runner.os }}-vagrant-
- name: setup Go
uses: actions/setup-go@v4
with:
go-version: '1.19'
- name: test (debian6, 1.19)
id: test
run: |
cp -f .github/workflows/Vagrantfile.debian6 Vagrantfile
export GOOS=linux
export GOARCH=amd64
for p in $(go list ./...); do
go test -c -o ${p//\//-}.test $p
done
vagrant up
vagrant ssh -c 'uname -a'
vagrant ssh -c 'tail /proc/sys/fs/inotify/max_user_watches /proc/sys/fs/inotify/max_user_instances'
vagrant ssh -c 'ulimit -a'
for t in *.test; do
vagrant ssh -c "/vagrant/$t -test.parallel 1"
done