flaky_tests: Skip requeuing known flaky tests#42
Merged
eliu-figma merged 7 commits intomasterfrom Sep 11, 2025
Merged
Conversation
abb2526 to
c7d7ef3
Compare
eliu-figma
commented
Sep 9, 2025
| gemspec | ||
|
|
||
| gem 'activesupport' | ||
| gem 'rexml' |
Contributor
Author
There was a problem hiding this comment.
This was blocking the unit tests from running
2b15676 to
ce09d23
Compare
ce09d23 to
faf2b0d
Compare
eliu-figma
commented
Sep 9, 2025
| end | ||
| EOF | ||
| # Add require to test_helper | ||
| sed -i '5i require_relative "minitest_compat"' ruby/test/test_helper.rb |
Contributor
Author
There was a problem hiding this comment.
The github action tests on this PR were failing because only the modern MiniTest version was present in the environment.
It looks like the most recent commit reverted a change that renamed all MiniTest to Minitest so I didn't want to modify it in the library. Instead, I added a compatibility patch to support Minitest when running these tests in the github action
Contributor
Author
There was a problem hiding this comment.
683d34c to
c7b9dd3
Compare
c7b9dd3 to
0b34336
Compare
eliu-figma
commented
Sep 9, 2025
| env: | ||
| SUITE: ruby | ||
| REDIS_HOST: localhost | ||
| RUBYOPT: "-W0" |
Contributor
Author
There was a problem hiding this comment.
this suppresses warnings in the test environment because this test was giving a warning which did not match the expected output
test_utf8_tests_and_marshal FAIL (0.71s)
Expected "/opt/hostedtoolcache/Ruby/3.3.0/x64/lib/ruby/gems/3.3.0/gems/activesupport-5.2.8.1/lib/active_support/notifications/fanout.rb:3: warning: mutex_m was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add mutex_m to your Gemfile or gemspec. Also contact author of activesupport-5.2.8.1 to add mutex_m into its gemspec.\n/opt/hostedtoolcache/Ruby/3.3.0/x64/lib/ruby/gems/3.3.0/gems/activesupport-5.2.8.1/lib/active_support/xml_mini.rb:4: warning: base64 was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add base64 to your Gemfile or gemspec. Also contact author of activesupport-5.2.8.1 to add base64 into its gemspec.\n/opt/hostedtoolcache/Ruby/3.3.0/x64/lib/ruby/gems/3.3.0/gems/activesupport-5.2.8.1/lib/active_support/xml_mini.rb:5: warning: bigdecimal was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add bigdecimal to your Gemfile or gemspec. Also contact author of activesupport-5.2.8.1 to add bigdecimal into its gemspec.\n" to be empty.
/home/runner/work/ci-queue/ci-queue/ruby/test/integration/minitest_redis_test.rb:730:in `test_utf8_tests_and_marshal'
ee45fc0 to
0f59d14
Compare
0f59d14 to
fcb1a03
Compare
weeyum
approved these changes
Sep 11, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR enables skipping requeues for known flaky tests.
When the queue is created, it reads the known flaky tests filepath from the ENV. This file stores a list of known flaky tests. These known flakes are stored in the queue configuration
Whenever there is a failure, we check whether the test is in the known flakes list and skip requeuing if it is.
test
I added unit tests. I also modified the github action to make sure that the test ran properly.
I don't know why the python tests are failing - I didn't touch the python library at all, and it looks like they were already failing on master
I tested the updated ci-queue implementation by pinning the commit SHA in a figma/figma branch and saw things ran as expected: https://github.com/figma/figma/pull/571339
deploy
After merging to master, take the commit SHA and pin it in the sinatra Gemfile in figma/figma