-
Notifications
You must be signed in to change notification settings - Fork 37
[ci] move CI logic into shell scripts (fixes #114) #225
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.
Looking good! :) just minor nits.
@jameslamb mind if I squash merge? Or do you want to rebase to resolve conflicts? |
@skrawcz sure, you can squash them! I just added you as a collaborator on my fork so you can do whatever you want there. For your consideration... I personally feel like open source projects (at least here on GitHub) should just always use squash merging exclusively (one commit per PR, commit message = PR title) so you never have to think about commits on PRs. Also means that if a PR gets behind the target branch, you can just That's been working great for us on LightGBM for years. Look how pretty this commit history is: https://github.com/microsoft/LightGBM/commits/master. |
Thanks this @jameslamb ! |
thanks so much for considering it! |
Thanks for the contribution! |
Fixes #114.
This PR proposes moving the logic currently contained in the project's CI (
.circleci/config.yml
) into shell scripts, for the reasons mentioned in #114:Changes
.ci/setup.sh
= install dependencies used by every CI job.ci/test.sh
= installhamilton
's Python dependencies and run testsdeveloper_setup.md
explaining how to re-use these scripts to run tests in Docker locally during developmentapt install
withapt-get install
pyspark
job to using acircleci/python
image for consistency with all the other CI jobs + ease of use in developmentHow I tested this
Ran
shellcheck
on the new scripts.Ran
yamllint
on the new CircleCI config.Tried running some of the project's tests with different combinations of
TASK
andPYTHON_VERSION
.For example:
Dask tests on Python 3.9 (click me)
main tests on Python 3.10 (click me)
Notes
References on re-using configuration in CircleCI configs:
Reference on why
apt-get
is preferred toapt
for things like CI scripts:Thanks for your time and consideration.
Checklist