Comments (3)
Hi @hariapollo
If you could provide a reproducable repo with Github Actions setup and logs that confirm issues that would be helpful.
In the meantime you may consider trying the free plan for Knapsack Pro. It has Queue Mode, which dynamically split tests so that tests are auto-balanced between parallel CI nodes. You can learn more about it here.
https://docs.knapsackpro.com/ruby/queue-mode/
The parallelism is not working properly. We are seeing some of the CI nodes are completing in 2/3 minutes where some completes in 20/30 minutes.
How many parallel CI nodes do you have? If too many, you might saturate the CI machine and tests are getting executed slower.
With Knapsack Pro you can track the test files execution trend and observe if tests are becoming slower so that you can detect CI saturation issues. Add more CPU/RAM or reduce the number of parallel CI nodes to stabilize your CI server performance.
from knapsack.
Hey @ArturT,
I'm sorry I would not be able to provide the repo to reproduce it.
Is Knapsack pro free plan is forever ?
I've one doubt are there any limitations for knapsack?. I mean is there any limitation for number of tests that only knapsack will run overall or anything like that?
How many parallel CI nodes do you have? If too many, you might saturate the CI machine and tests are getting executed slower.
We have 20 nodes running in Staging and 30 nodes on Prod. We use github actions to run our pipelines.
Is there anything I can look at to reproduce this issue and find the root cause?
from knapsack.
I've one doubt are there any limitations for knapsack?. I mean is there any limitation for number of tests that only knapsack will run overall or anything like that?
There is no limitation like that for the knapsack free gem.
Is Knapsack pro free plan is forever ?
You can check free plan limits here.
How many parallel CI nodes do you have? If too many, you might saturate the CI machine and tests are getting executed slower.
We have 20 nodes running in Staging and 30 nodes on Prod. We use github actions to run our pipelines.
Is there anything I can look at to reproduce this issue and find the root cause?
You can run one of your slow test files just with RSpec (rspec spec/my_slow_test_spec.rb
) on your local machine and see what's the execution time.
Then compare it to the execution time of the test file on the GitHub Actions. If it's much slower on CI then CI might be saturated.
You can run the following example and preview recorded tests on a given CI node to check how long it took to execute the test files.
KNAPSACK_GENERATE_REPORT=true bundle exec rake "knapsack:rspec"
cat knapsack_rspec_report.json
from knapsack.
Related Issues (20)
- .rspec config looks ignored even in Regular Mode HOT 2
- Knapsack::Adapters::RSpecAdapter does not track time spent in `before` or `after` `:context` HOT 3
- Time execution for pending test file can't be measured due to exception HOT 1
- Cucumber split by scenario and not feature HOT 1
- how often to update knapsack_minitest_report.json timings report HOT 4
- Segmentation error under ruby 2.5.0 HOT 2
- How can this be used with the Kubernetes Jenkins Plugin that dynamically creates Jenkins slaves HOT 1
- `uninitialized constant ActiveSupport` with Minitest runner HOT 3
- send complete test coverage report from circleCI building specs to codeclimate HOT 3
- Knapsack does handle signals
- Generate report on minitest HOT 7
- All tests run when no spec files are found HOT 3
- cucumber runner exits with non-zero code even though tests passed HOT 12
- Some cucumber test files run via several CI jobs HOT 5
- Knapsack not generating report for rspec HOT 4
- Knapsack report not found by one job on GitLab CI HOT 5
- Hide Knapsack Time Offset Warning block? HOT 1
- Feature Request: Prioritise spec files HOT 1
- Load Balancing Algorithm doesn't consider weight of nodes HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from knapsack.