-
Notifications
You must be signed in to change notification settings - Fork 58
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: Add testing on macOS #242
Conversation
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.
Thank you for the patch, but we need to fix tests before merge. Could you do it?
ci: Add testing on macOS
-> ci: add testing on macOS
.
.github/workflows/testing.yml
Outdated
- macos-10.15 | ||
- macos-11.0 |
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.
Here we can limit to one macos version (a latest one?).
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.
Moreover, 10.15 is going to EOL in GitHub Actions. And macos-12
(not macos-12.0
!) appears now. Please, catch recent updates from https://github.com/tarantool/smtp/commits/master/.github/workflows/testing.yml.
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.
According to tarantool.io tarantool supports 11, 12 versions of macOS. Changed according to that information.
.github/workflows/testing.yml
Outdated
ref: refs/pull/${{ github.event.pull_request.number }}/merge | ||
|
||
- name: Clone the connector | ||
if: github.event_name != 'pull_request_target' | ||
uses: actions/checkout@v2 |
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.
The change looks like a rebase artifact. Please, rebase to a master
branch manually.
- 1.10.10 | ||
- 2.8.1 |
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.
Is there no way to use pre-build packages on MacOS?
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'm thinking on it in background. Of course, it is possible and there are different ways with cons and pros. We should setup some infrastructure and support it in setup-tarantool. Reach me if you want to participate and/or push this activity.
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.
Yeah, building Tarantool from sources for module CI seems painful. I think we must get rid of it if possible.
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.
Maybe cache will resolve the problem. You can check it here macOS 12 Tarantool 2.8.1 test.
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.
Does the whole "source install" thing was inspired by some existing CI/CD pipeline?
.github/workflows/testing.yml
Outdated
if: matrix.tarantool != 'brew' && steps.cache.outputs.cache-hit != 'true' | ||
|
||
- name: Clone tarantool ${{ env.T_VERSION }} | ||
uses: actions/checkout@v2 |
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.
checkout@v2 uses node 12 which will be deprecated soon. It's better to migrate to v3 already.
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.
Updated
- 1.10.10 | ||
- 2.8.1 |
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.
Yeah, building Tarantool from sources for module CI seems painful. I think we must get rid of it if possible.
48deb03
to
61c6467
Compare
f80e67b
to
b7818f9
Compare
I suggest someone to take a look into it, since I am not very familiar with queue and it will probably take many time. Also I will be busy doing other tasks. If time is not very important I will try to fix. |
5cda082
to
00b02b5
Compare
queue/queue_test.go
Outdated
@@ -782,7 +782,7 @@ func TestUtube_Put(t *testing.T) { | |||
return | |||
} | |||
|
|||
time.Sleep(2 * time.Second) | |||
time.Sleep(2*time.Second + 30*time.Millisecond) |
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.
Such approach is definitely not good.
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'll try to explain the problem:
A situation that is solved by increasing the waiting time by a bit looks like a data race. Such a fix should be done only if you are absolutely sure that this is the expected behavior, and not a data race (and it is advisable to add a comment on this).
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 understand it, it was done for experimentational purposes on github runners. I will not use it or give a full explanation for it.
Added macOS testing into ci. Updated actions to versions with node16 runtime. Closes #157
00bd2cb
to
b5834b8
Compare
577594a
to
b5834b8
Compare
e8ea86e
to
ac31e0a
Compare
F |
Added macOS testing into ci.
Closes #157