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

CI for FreeBSD and OpenBSD #12103

Closed
euantorano opened this issue Sep 1, 2019 · 5 comments · Fixed by #12179
Closed

CI for FreeBSD and OpenBSD #12103

euantorano opened this issue Sep 1, 2019 · 5 comments · Fixed by #12179

Comments

@euantorano
Copy link
Contributor

Summary

We currently have CI support for Linux, macOS and Windows. It would be nice to expand this to cover other operating systems.

Description

We currently have GitLab CI, Travis CI and AppVeyor CI, but none of these providers support FreeBSD or OpenBSD (or any other BSD for that matter).

It would be nice to expand this coverage and possibly provide pre-built binaries for these platforms.

I oppose that we use builds.sr.ht to provide CI for other platforms as they support both FreeBSD and OpenBSD and are growing rapidly so could include other platforms (and architectures!) in the future. They also have some cool features like being able to SSH in to build VMs to test builds.

Alternatives

Cirrus CI support FreeBSD, but not OpenBSD.

@cheatfate
Copy link
Member

@euantorano MacOS is actually BSD, so Travis CI can cover some of the problems here.

@euantorano
Copy link
Contributor Author

euantorano commented Sep 2, 2019 via email

@cheatfate
Copy link
Member

@euantorano but Nim language and stdlib do not interact with utilities. We using some syscalls and posix. Or you are talking about Nim's bootstrap process?

@euantorano
Copy link
Contributor Author

euantorano commented Sep 2, 2019 via email

@euantorano
Copy link
Contributor Author

(for an example of a FreeBSD bootstrapping problem, see here... 😉)

euantorano added a commit to euantorano/Nim that referenced this issue Sep 11, 2019
euantorano added a commit to euantorano/Nim that referenced this issue Nov 11, 2019
euantorano added a commit to euantorano/Nim that referenced this issue Nov 29, 2019
Araq pushed a commit that referenced this issue Nov 29, 2019
* Ref #12103 - adds FreeBSD CI
* Fix getApplFreebsd - length of the string includes the null terminator byte, so minus 1 for result length
* Show last commit in setup task.
* Remove .git from repository URL
* Don't include noisy details showing last commit.
* Add FreeBSD build status badge
* Fix #12182 - disable tconsole on FreeBSD
* Disable tgetaddrinfo on FreebSD as getaddrinfo doesn't support the ICMP protocol.
* Install boehm-gc-threaded
* Use libgc-threaded.so on FreeBSD rather than libgc.so.
* Simplify build failure handling. Update alt text for CI badge.
* Disable test on FreeBSD
* Simplify build config

- use GNU make to build csources
- set PATH variable using the environment key
- remove modification of config to set CC as this is already set

* Install git which seems to be missing from current freebsd images
* Revert change to how path is set
* Add a comment explaining why the length is truncated
* Fix tconsole.
alehander92 pushed a commit to alehander92/Nim that referenced this issue Dec 2, 2019
* Ref nim-lang#12103 - adds FreeBSD CI
* Fix getApplFreebsd - length of the string includes the null terminator byte, so minus 1 for result length
* Show last commit in setup task.
* Remove .git from repository URL
* Don't include noisy details showing last commit.
* Add FreeBSD build status badge
* Fix nim-lang#12182 - disable tconsole on FreeBSD
* Disable tgetaddrinfo on FreebSD as getaddrinfo doesn't support the ICMP protocol.
* Install boehm-gc-threaded
* Use libgc-threaded.so on FreeBSD rather than libgc.so.
* Simplify build failure handling. Update alt text for CI badge.
* Disable test on FreeBSD
* Simplify build config

- use GNU make to build csources
- set PATH variable using the environment key
- remove modification of config to set CC as this is already set

* Install git which seems to be missing from current freebsd images
* Revert change to how path is set
* Add a comment explaining why the length is truncated
* Fix tconsole.
Araq pushed a commit that referenced this issue Apr 21, 2020
* Working on OpenBSD CI
* Condense steps into 2 steps to make output easier to follow.
* Move up one directory after csources build.
* Remove FreeBSD build manifest and add OpenBSD test ignores for coroutines and hot code reloading.
* If runCI fails, run the test results script.
* Add email trigger for build failure
* Remove .git from repository URL
* Disable SFML test on OpenBSD
* Disable tgetaddrinfo on OpenBSD as only UDP and TCP protocols are supported.
* Remove getFilePermissions as it causes CI test failures with NimScript.
* Set clang as cc in nim.cfg and use gmake to build csources.
* Add getCurrentDir to nimscript.
* Remove duplicate getCurrentDir and check for not weirdTarget.
* Add CI badge for OpenBSD.
* Disable tests which allocate lots of memory for OpenBSD.
* Use `CORO_BACKEND_SETJMP` on OpenBSD rather than ucontext.
* Simplify building of koch
* Disable t8657 on OpenBSD. See issue #13760.
* Fix #12142 - tarray_of_channels fails on OpenBSD
* Disable thhtpclient_ssl and tosprocterminate on OpenBSD. These tests can be enabled at a later date after fixing them.
* Install libffi.
* Set path to libc for openbsd.
* Disable tevalffi for now.
* Remove tevalffi.nim.
* Use ncpuonline sysctl rather than ncpu.
* Disable tacceptcloserace and tasynchttpserver on OpenBSD.
* Enable tacceptcloserace and tasynchttpserver.
* Fix #13775 as suggested by @alaviss - use /bin/cat on OpenBSD rather than /bin/sh.
* Enable test on OpenBSD.
* Disable tflowvar on OpenBSD.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants