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

Add OSX job to CI using GitHub Actions #538

Merged
merged 7 commits into from
Jan 12, 2021
Merged

Conversation

kitchoi
Copy link
Contributor

@kitchoi kitchoi commented Jan 12, 2021

Closes #537

Certain components (e.g. kiva) are OSX specific and it would be convenient to developers if the tests are run by CI in an OSX environment, otherwise we rely on developers having an OSX host machine and remembering to run test suite locally.

Background: Other ETS projects are in the middle of moving CI to GitHub Actions (see Traits, TraitsUI, and Traits-Futures).

I also have separate branch where I included all the jobs we currently have in Travis/Appveyor. I decided that might be too much to review in one go. The OSX job is trivial enough so it would be more efficient to break this out. Once this gets merged, it can immediately benefit pending PRs such as #392 and #535 which have OSX specific changes.
I am happy to replace this PR with one that includes all the jobs, if the reviewer prefers.

@rahulporuri
Copy link
Contributor

I see the following in the "Post Cache EDM packages" step of the GitHub Action in 3 of the 4 jobs.

Unable to reserve cache with key macOS--25bb83e821c9e99b32f531926946e70de229dc2f7eb6892e69aed93c305c3b86, another job may be creating this cache.

In the fourth, I see the following

/usr/bin/tar --posix --use-compress-program zstd -T0 -cf cache.tzst -P -C /Users/runner/work/enable/enable --files-from manifest.txt
Cache saved successfully

Looks like this is happening because of the way we set the key when we cache. At the moment, the key is the same for all of the four jobs - and they should probably be different.

@kitchoi
Copy link
Contributor Author

kitchoi commented Jan 12, 2021

Good point. I added the toolkit to the cache key. Though the last build won't be exercising the cache logic as it would be the first time the workflow has seen the cache key (and hence find no cache).

@rahulporuri
Copy link
Contributor

I'm not sure what's going wrong but things still don't seem to be working as expected. This is what I now see for all 4 jobs in the Post Cache step -

Cache hit occurred on the primary key macOS--25bb83e821c9e99b32f531926946e70de229dc2f7eb6892e69aed93c305c3b86, not saving cache.

@kitchoi
Copy link
Contributor Author

kitchoi commented Jan 12, 2021

I'm not sure what's going wrong but things still don't seem to be working as expected. This is what I now see for all 4 jobs in the Post Cache step -

I was puzzled too... but then I realized what went wrong (see this commit). It is now fixed.

@rahulporuri
Copy link
Contributor

I am happy to replace this PR with one that includes all the jobs, if the reviewer prefers.

Let's not. I think it would be easier to review if they're split up into separate PRs.

Copy link
Contributor

@rahulporuri rahulporuri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🥳 LGTM

@kitchoi kitchoi merged commit c5bc48e into master Jan 12, 2021
@kitchoi kitchoi deleted the github-actions-osx-only branch January 12, 2021 13:34
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 this pull request may close these issues.

Add CI job for running tests against MacOS
2 participants