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 build success step #175

Merged
merged 7 commits into from
Jul 8, 2024
Merged

Conversation

ttstarck
Copy link
Contributor

@ttstarck ttstarck commented Jul 2, 2024

Add a build success step that we can use to be required before merging!

@ttstarck ttstarck marked this pull request as ready for review July 2, 2024 18:48
@ttstarck ttstarck force-pushed the NON_PRODUCTION_add_build_success_step branch from b9aa546 to 59fbf15 Compare July 2, 2024 18:49
@ttstarck ttstarck requested review from a team and dcaddell and removed request for a team July 8, 2024 16:58
@@ -14,6 +14,6 @@ gem 'pry'
gem 'rr', '3.1.0'
gem 'rubocop', require: false
gem 'shoulda'
gem 'sqlite3', "~> 2.0"
gem 'sqlite3', "~> 1.4"
Copy link
Contributor Author

@ttstarck ttstarck Jul 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Multiple Rails versions require sqlite3 1.x, so I've set this in the gemfile.

@@ -1,7 +1,6 @@
---
name: Update Appraisals
on:
push: ~
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was running when we pushed to the repo, which then caused Unit Tests to not run on my branch due to how Github Workflows work, where they cannot get triggered from other GithubWorkflows that use git config

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yeah that sucks now that you mention it. The weekly build is going to silently cause us problems if we update the appraisals without running the tests. We should change the job so that we can only commit/push if a bundle exec appraisal (rspec|rake) succeeds.

I'll update the Gem CI Best Practices example once we decide on how this should actually look

Copy link
Contributor Author

@ttstarck ttstarck Jul 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, this Update Appraisals step is interesting. Its doing two things:

  1. Ensures Appraisal Gemfiles are kept up to date with any changes to the Gemfile.
  2. Ensure we create gemfiles for new Rails minor versions (probably less important?).

I'm curious if we should do split those two out 🤔 .

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see any issue with getting two for one here. In either scenario, it's the same command and we want to run the test suite against the change before pushing. If you don't want (2) to happen then you just need to update the Appraisals file right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current Update Appraisal schedule doesn't even work:
https://github.com/Invoca/aggregate/actions/runs/9827523944/job/27130301493

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm most of our gems don't require PRs since it's common practice to push release commits onto mainline. I'd just expect that we'd need to run tests and manually write the "build success" status since the action won't trigger unit tests automatically

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to completely rethink the Update Appraisal step in its own ticket, to properly think through all of these edge cases.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm removing the UpdateAppraisals workflow as it is broken in its current state

@@ -1,7 +1,6 @@
---
name: Update Appraisals
on:
push: ~
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yeah that sucks now that you mention it. The weekly build is going to silently cause us problems if we update the appraisals without running the tests. We should change the job so that we can only commit/push if a bundle exec appraisal (rspec|rake) succeeds.

I'll update the Gem CI Best Practices example once we decide on how this should actually look

@ttstarck ttstarck requested a review from dcaddell July 8, 2024 21:39
@ttstarck ttstarck merged commit d193b43 into master Jul 8, 2024
18 checks passed
@ttstarck ttstarck deleted the NON_PRODUCTION_add_build_success_step branch July 8, 2024 21:42
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.

3 participants