It's currently failing, and upgrading it may fix it.
While here, track lates FreeBSD to avoid upgrade toil.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
We only support the most recent two go versions, and using 1.18 prevents use of
atomic.Bool, failing CI for a different patchset of mine.
Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
This commit introduces a 32-bit test run to our Linux CI in an attempt
to detect architecture dependent bugs earlier. I was forced to install
the i386 packages in a build step becuase they can only be added after
enabling the architecture. Also GOARCH=386 does not support the race
detector, so I'm not running the tests with race detection enabled for
that GOARCH.
Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
With GOARCH=386, we can't readily build packages that use Cgo. However,
we already have the Android SDK available, so use that to test for 32-bit
issues such as #384.
References: https://todo.sr.ht/~eliasnaur/gio/384
Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit runs Gio's test harness in 32-bit mode as well as 64-bit. This helps
catch bugs in Gio and its dependencies where integer overflow causes build or
runtime problems.
The complexities of cross-compiling CGO made it prohibitively difficult to test
all of Gio, so these changes only run tests for packages in pure Go.
References: https://todo.sr.ht/~eliasnaur/gio/384
Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
Running GPU tests on freeBSD currently fails with
vulkan: vkCreateGraphicsPipelines: error -8
Disable Vulkan by removing the vulkan-loader package.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
For some reason, the Mesa OpenGL software renderer fails to correctly
render some of the tests in gpu/internal/rendertest. The Linux builder
uses the Vulkan software renderer, so only the FreeBSD builders fails.
The root cause may be a Gio issue, but since all the other backends work,
including hardware OpenGL, there is a likelyhood the issue is in Mesa.
I don't have the temperament to debug Mesa issues, so this change disables
software OpenGL on FreeBSD, which will cause the rendertests to skip.
Running Vulkan tests under FreeBSD is blocked on
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257303
In practice it won't matter: FreeBSD and Linux use the same software
for software renderers.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
This change implements a Vulkan port for the two renderers, old and
compute. Run with GIORENDERER=forcecompute to test the compute renderer.
To shake out bugs faster, it is also made the default on systems that
support it. To disable Vulkan and force the use of OpenGL, use the
`novulkan` tag:
$ go run -tags novulkan gioui.org/example/kitchen
Don't forget to file an issue describing the issue that prompted the use
of the tag.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
EGL_PLATFORM=surfaceless allows rendering tests to complete in headless
mode. However, the headless chrome tests fail with that setting. Change
the linux builder to only set the variable when needed.
Enable verbose output of tests while here. We can keep an eye on skipped
tests that way.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
A recent change to the native toolchain or system on the builder infrastructure
made the arguments for the apple cross compiler needed always, not just in
CGO_CFLAGS and CGO_LDFLAGS.
Remove them altogether and rely on a recent change to the giouiorg repository
for including them in the clang-ios and clang-macos wrappers.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
The example module is moving to git.sr.ht/~eliasnaur/gio-example.
We still need some main package for testing gogio, so update reference
to use the module path (gioui.org/example).
Signed-off-by: Elias Naur <mail@eliasnaur.com>
As suggested by Chris Waldon, this will catch pushes to master and
also during automatic testing of patches sent to the mailing list.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
The python package is gone, we may not need it and/or Debian installs
python3 by default.
curl is needed for automatically applying patches from the mailing list.
Signed-off-by: Elias Naur <mail@eliasnaur.com>