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 GitHub Actions workflow to Rails #36893

Closed
wants to merge 1 commit into from

Conversation

eileencodes
Copy link
Member

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

@rafaelfranca
Copy link
Member

What advantages does it brings over buildkite? Can we parallelize builds across multiple machines easily?

@eileencodes eileencodes force-pushed the add-github-actions-to-rails branch 2 times, most recently from a0ae624 to d2396d1 Compare August 8, 2019 19:17
@eileencodes
Copy link
Member Author

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>
@rafaelfranca
Copy link
Member

👍 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.

@yahonda
Copy link
Member

yahonda commented Aug 20, 2019

Would you consider to implement RuboCop check for pull requests? We may not have to wait for CodeClimate releases newer version of channels like rubocop-0-74.

- name: Install dependencies
run: |
sudo gem install bundler -v '1.17.3'
bundle install -j8
Copy link
Member

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

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.

Copy link
Contributor

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/
🎉

@rails-bot
Copy link

rails-bot bot commented Feb 3, 2020

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.
Thank you for your contributions.

@rails-bot rails-bot bot added the stale label Feb 3, 2020
@rails-bot rails-bot bot closed this Feb 10, 2020
@rafaelfranca rafaelfranca deleted the add-github-actions-to-rails branch May 15, 2024 19:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants