Skip to content

Add OSX job to CI using GitHub Actions#538

Merged
kitchoi merged 7 commits into
masterfrom
github-actions-osx-only
Jan 12, 2021
Merged

Add OSX job to CI using GitHub Actions#538
kitchoi merged 7 commits into
masterfrom
github-actions-osx-only

Conversation

@kitchoi
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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