-
Notifications
You must be signed in to change notification settings - Fork 9
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 Buildkite #299
Add Buildkite #299
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #299 +/- ##
===========================================
- Coverage 51.64% 51.62% -0.03%
===========================================
Files 108 108
Lines 4533 4533
===========================================
- Hits 2341 2340 -1
- Misses 2192 2193 +1
Continue to review full report at Codecov.
|
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.
Looks good overall but I think we should also get rid of GitHub Actions and Danger in this PR to avoid the double rubocop reporting.
We might also want to get rid of the CircleCI config too on that PR, except if you planned to do that in a separate one as a secondary step?
Co-authored-by: Olivier Halligon <olivier.halligon@automattic.com>
Co-authored-by: Olivier Halligon <olivier.halligon@automattic.com>
Co-authored-by: Olivier Halligon <olivier.halligon@automattic.com>
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.
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 gem-push
job from CircleCI is missing from the .buildkite/pipeline.yml
, we need to add it before being ready to remove CircleCI.
Note that I noticed while doing the 2.0.0 that even today the Not sure why we set |
PR update: gem-push step@jkmassel @mokagio I've updated the PR to add the
You can check the changes I made to mobile-secrets by running CircleCI Deploy Key re-added (and PR check failure)I've incidentally re-added a public key for CircleCI during the release of 2.0.0 while trying to Reviews
|
New commit to add gem-push
step was added since this review
04edfde
to
62de49c
Compare
As we apparently don't have the permissions to write in $HOME to use the default $HOME/.gem/credentials file
To test that credentials work, even if the push will fail because 2.0.0 is already published.
This reverts commit 4f86bec.
Testing the gem-push stepI tested the new Had to do a lot of back and forth 😓 to test and make
The last solution finally "succeeded" (well the step failed but on the error that "version 2.0.0 has already been published" which is the error I expected – as opposed to being blocked on an interactive prompt asking us for our credentials, or failing to authenticate with RubyGems), so I reverted the test commit via ac143b1 to only do the |
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.
This looks ready to ship. I only left nitpicks 👍
I assume you intent to keep the test and revert commit pair, as opposed interactive rebase and drop
them, because there's no mention of removing them. Correct?
Part of me would like to get rid of them to keep the Git history neat, but I can see the value in having them here for the extra context. You did a great job at making it clear they are test commit, so I'm sure if someone landed on them (e.g. during a bisect) they'd understand the state of the codebase is intentionally "incorrect". 👌
The CircleCI failure is obviously due to this PR removing CircleCI 😄
group :test do | ||
gem 'codecov', require: false | ||
gem 'rspec' | ||
gem 'webmock', require: false, group: :test | ||
gem 'yard' | ||
end | ||
gem 'codecov', require: false | ||
gem 'webmock', require: false | ||
gem 'yard' |
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.
This LGTM. Just curious, though, did you decide to remove the test
group because:
- Everyone running
bundle install
on this project is expected to run the tests; and - Consumer of the gem get the dependencies via what's specified in the
.gemspec
, so there's no need to add groups here because, if we don't add these to the.gemspec
they won't be part of the gem dependency resolution chain
?
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.
Yep, exactly. As Jeremy said in the description of this PR:
Removes the test group from the Gemfile – if you're using that instead of the gemspec you are sort of by definition out to do development work on the toolkit, so you should have all the tooling present.
Co-authored-by: Gio Lodi <giovanni.lodi42@gmail.com>
Co-authored-by: Gio Lodi <giovanni.lodi42@gmail.com>
Co-authored-by: Gio Lodi <giovanni.lodi42@gmail.com>
Yep. I'm not strong about this and I'm ok either case, and I thought about rebasing to eliminate those 2 commits too instead of keeping them. But as you say it also helps keep context – especially if someone comes back to this PR and the conversations in it even after the PR got merged – also because I do mention those commits' SHA1 in some of my comments, so removing them would make the comment outdated and odd to read in the future. Overall even if I do like a clean and nice git graph and history, I don't think it's that a big deal to include those, both to keep context for this PR but also to show in the git history that we did test this scenario, and maybe show future us how we test similar stuff if we need more similar changes to be tested later. |
I've just hit the "Stop Building" red button on the project settings in CircleCI which has removed the CircleCI Deploy Key from this repo's settings in GitHub, so CircleCI will no longer try to build this project (and fail). |
This PR adds Buildkite and does some housekeeping, including:
vendor
directorygit-lfs
installation (IMHO we should deprecate LFS stuff in the future...)test
group from theGemfile
– if you're using that instead of thegemspec
you are sort of by definition out to do development work on the toolkit, so you should have all the tooling present.