-
-
Notifications
You must be signed in to change notification settings - Fork 436
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
Ensuring compilation for windows, darwin, and linux #270
Ensuring compilation for windows, darwin, and linux #270
Conversation
I noticed @mdelapenya has this pull request open, which allows tests for different operating systems...my pull request only compiles for different operating systems, doesn't run tests on different operating systems. Should we maybe combine them into one pull request? |
.github/workflows/ci.yml
Outdated
@@ -48,3 +48,18 @@ jobs: | |||
|
|||
- name: gotestsum | |||
run: gotestsum --format short-verbose ./... | |||
|
|||
- name: compile for windows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would you see any advantage running each stage in parallel, opposed to running them in serie? Something like moving the GOOS definition to the GH action strategy block.
Besides that, I'd like to not run the tests if the build process fails, so I'd move the go build
stage/s prior to the test one. wdyt?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree, those are good ideas. I will:
- add a 3rd dimension to the matrix, called
os
and this can contain the three operating system values "linux", "darwin", and "windows". - move the compile steps to before the test
Hey @ClaytonNorthey92, sorry for the late response... you know, holidays... Related to the merge, that would be great, although I'd see more value merging this to at least have build compatibility across different OSs. I added a comment in the PR in that direction Thanks again for your time here! |
Thanks for your review 🙂 I hope your holidays were great! I agree with what you mentioned in your comment, I will update the PR shortly 👍 |
4e91d4b
to
199f649
Compare
hey @mdelapenya , I apologize for the delay, I had a lot to consider with this PR. I added the 3 different platforms to the CI matrix, and I am building the project on each. However I am only running tests on Linux. If we want to run tests on all 3 platforms, there are many other things we have to change (as I am sure you have seen working on your PR). The largest thing is that many of our images we use in tests won't run on Windows Server, since they don't have I think this is a good PR to start with. Since it introduces the 3 platforms in CI, and ensures we can't at least compile on all 3. |
c903891
to
63dc987
Compare
57bdf78
to
65f022c
Compare
@mdelapenya @gianarb
Do we need travis anymore? Should we remove |
Hey! Sorry @ClaytonNorthey92 I am very late here! Do you mind two things, can you revert Postgres:latest back to a pinned version? I like to avoid latest if we can because you never know when the latest will break! And can you rebase? I agree, I will remove travis in a bit! |
Hey @gianarb ! Yes I can change postgres back and rebase 👍 |
Upgraded a dependency which allows windows compilation. Added CI steps to ensure that we can compile for major operating systems: windows, darwin, and linux Updated test files so they only run on linux.
65f022c
to
fab4532
Compare
hey @gianarb I rebased and changed |
Thanks a lot! |
Prior, our dependencies wouldn't allow us to compile for windows:
This is solved in the v20.10.2 version.
I added CI steps to build on the following operating systems: Linux, Windows, and MacOS
I am explicitly only running tests on Linux, as a lot of the containers we use in tests are only valid Linux containers, and won't run on Windows Server.
This should be a good start to allow us to update our tests in the near future.