goss-org / goss

Quick and Easy server testing/validation
https://goss.rocks
Apache License 2.0
5.6k stars 472 forks source link

Provide macOS Binaries with Releases #385

Closed naftulikay closed 4 years ago

naftulikay commented 6 years ago

I'm a maintainer of the Ansible degoss role, and I use Goss heavily for testing Ansible roles across distributions and operating systems.

Due to unforeseen circumstances, I now need to port almost all of my roles to run on macOS. Unfortunately so far, Goss has only shipped amd64, arm, and 386 architectures. As Goss is written in Go, creating a binary for macOS shouldn't be too difficult unless Goss relies on specific syscalls and doesn't just use the Go standard library.

Would it be possible to ship macOS binaries in future releases of Goss?

aelsabbahy commented 6 years ago

There's some initial work on this: https://github.com/aelsabbahy/goss/issues/192 https://github.com/aelsabbahy/goss/pull/380

But I don't think anyone compiled goss for OSX and made a list of all the things that work and don't work on there. I know there was some research into freebsd: https://github.com/aelsabbahy/goss/issues/26#issuecomment-265962007

I'm open to pull requests to add support for OSX, so long as there's a way to verify it through CI to ensure it's working correctly. That said, I don't think goss can support OSX without some changes.

petemounce commented 6 years ago

I'll also need macOS (and Windows) support within goss, and so am intending to contribute where necessary.

I noticed https://docs.travis-ci.com/user/reference/osx/ so that's promising, but I don't think travis supports Windows so far (https://github.com/travis-ci/travis-ci/issues/2104). AppVeyor can probably be pressed into service for this; it's also free for OSS and supports Windows. @aelsabbahy I've configured it before; would you mind signing up to that service and creating a skeleton appveyor.yml in the repo?

petemounce commented 6 years ago

@aelsabbahy would you have any objection to my setting up Windows CI via appveyor and then granting you admin rights into what I create?

petemounce commented 5 years ago

Turns out travis started to support Windows. I'm trying that out, and macOS in #403.

@aelsabbahy I have some bandwidth, and some need, to work on this and the macOS and Windows support. Would you be open to adding some collaborators to this repo to aid with pull-request throughput?

petemounce commented 4 years ago

We're now publishing Windows and Mac OS binaries at https://github.com/improbable-eng/goss/releases (but we have not ensured all features work on all platforms). We're gradually making changes to get to feature parity with Linux. You're welcome to use and give feedback.

marcinpraczko commented 4 years ago

This was really nice to see that there is some project to build MacOs binaries. And I see migrate tag was added. Is there any ETA when this can be migrated to this repo.

aelsabbahy commented 4 years ago

The migrate label is about re-writing the ticket in the new format: Screenshot_20200210-083846_Kiwi Browser

I have a new ticket/discussion that will be posted in a few days to discuss all the requirements needed for multi-os support to be added to Goss.

aelsabbahy commented 4 years ago

https://github.com/aelsabbahy/goss/issues/551

The pre-req discussion for multi-os support has moved to the above ticket. New tickets will be created based on that discussion.

aelsabbahy commented 4 years ago

Community supported macOS alpha binaries are now part of goss releases.