-
Notifications
You must be signed in to change notification settings - Fork 21.6k
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 GitHub Actions workflow to Rails #36893
Conversation
What advantages does it brings over buildkite? Can we parallelize builds across multiple machines easily? |
a0ae624
to
d2396d1
Compare
We don't yet have everything we'd need to switch over. I wanted to get this running so we can see how it feels, figure out the pros/cons, and potentially make our CI a bit more robust with windows and/or macos testing. I've opened this as a starting point for discussion. 😄 We can always start on a smaller project under the Rails name as well. |
This PR adds the necessary workflow to use GitHub Actions on the Rails repo. There are a couple of things missing but the majority of tests are passing for Linux. 🎉 The changes to ActionPack and Railties are due to other CI's pretending they are a tty, but Actions doesn't act as a tty so we need to handle these differently. Co-Authored-By: John Hawthorn <john@hawthorn.email> Co-Authored-By: Aaron Patterson <aaron.patterson@gmail.com> Co-Authored-By: Edward Thomson <ethomson@edwardthomson.com>
d2396d1
to
ba9415d
Compare
👍 I do think without a way to parallelize tests between machines we will slow down our suite but running it on mac os and windows and keeping buildkite to run our linux tests would be great. |
Would you consider to implement RuboCop check for pull requests? We may not have to wait for CodeClimate releases newer version of channels like |
- name: Install dependencies | ||
run: | | ||
sudo gem install bundler -v '1.17.3' | ||
bundle install -j8 |
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.
@eileencodes Do you know what would be the solution to cache gems between builds using GH actions? If I'm not wrong every build has to fetch all the gems even when there were no changes to Gemfile.lock
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.
We're working on adding caching to GitHub Actions - we should have it available soon, in the meantime you're right that this is fetching all gems.
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.
For anyone following along, caching dependencies is now supported:
https://github.blog/changelog/2019-11-04-github-actions-adds-dependency-caching/
🎉
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
This PR adds the necessary workflow to use GitHub Actions on the
Rails repo. There are a couple of things missing but the majority of
tests are passing for Linux. 🎉
The changes to ActionPack and Railties are due to other CI's pretending
they are a tty, but Actions doesn't act as a tty so we need to handle
these differently.
Co-Authored-By: John Hawthorn john@hawthorn.email
Co-Authored-By: Aaron Patterson aaron.patterson@gmail.com
Co-Authored-By: Edward Thomson ethomson@edwardthomson.com