setup-ruby
knapsack_pro-ruby
setup-ruby | knapsack_pro-ruby | |
---|---|---|
6 | 2 | |
753 | 129 | |
0.9% | 0.0% | |
7.9 | 8.4 | |
2 days ago | 30 days ago | |
JavaScript | Ruby | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
setup-ruby
-
Personal efforts to improve the quality of Ruby interpreter
Digression: Try head/debug versions of setup-ruby
- Configurando o Rails, RSpec e Rubocop no Github Actions
-
Github Action setup-ruby needs to quote '3.0' or will end up with ruby 3.1
It's no mystery why this keeps coming up, this is what the documentation of the setup-ruby action recommended until about 10 months ago and provided as examples, and what most of the examples you'd find on the internet would do.
-
Testing Ruby on Rails on Github Actions with RSpec
ruby/setup-ruby is an action that you can use to install a particular Ruby programming language version. It allows you to cache Ruby gems based on your Gemfile.lock out of the box.
-
Setup Ruby on Github Actions to cache Ruby gems for Rails project
This post describes how to setup Ruby on Github Actions to cache Ruby gems for Rails project by using actions/cache and ruby/setup-ruby
-
ruby/setup-ruby or actions/cache - caching Ruby gems on Github Actions
ruby/setup-ruby - it's a solution to install a specific Ruby version and cache Ruby gems with bundler. Two features in one action.
knapsack_pro-ruby
-
Testing Ruby on Rails on Github Actions with RSpec
name: Main on: [push] jobs: test: runs-on: ubuntu-latest # If you need DB like PostgreSQL, Redis then define service below. # https://github.com/actions/example-services/tree/master/.github/workflows services: postgres: image: postgres:10.8 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: "" POSTGRES_DB: postgres ports: - 5432:5432 # needed because the postgres container does not provide a healthcheck # tmpfs makes DB faster by using RAM options: >- --mount type=tmpfs,destination=/var/lib/postgresql/data --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 redis: image: redis ports: - 6379:6379 options: --entrypoint redis-server # https://help.github.com/en/articles/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix strategy: fail-fast: false matrix: # [n] - where the n is a number of parallel jobs you want to run your tests on. # Use a higher number if you have slow tests to split them between more parallel jobs. # Remember to update the value of the `ci_node_index` below to (0..n-1). ci_node_total: [8] # Indexes for parallel jobs (starting from zero). # E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc. ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7] env: RAILS_ENV: test GEMFILE_RUBY_VERSION: 2.7.2 PGHOST: localhost PGUSER: postgres # Rails verifies the time zone in DB is the same as the time zone of the Rails app TZ: "Europe/Warsaw" steps: - uses: actions/checkout@v2 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: # Not needed with a .ruby-version file ruby-version: 2.7 # runs 'bundle install' and caches installed gems automatically bundler-cache: true - name: Create DB run: | bin/rails db:prepare - name: Run tests env: KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: ${{ secrets.KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC }} KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }} KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }} KNAPSACK_PRO_LOG_LEVEL: info # if you use Knapsack Pro Queue Mode you must set below env variable # to be able to retry CI build and run previously recorded tests # https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node KNAPSACK_PRO_FIXED_QUEUE_SPLIT: true # RSpec split test files by test examples feature - it's optional # https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true run: | bundle exec rake knapsack_pro:queue:rspec
-
Parallel scaling RSpec tests on Buildkite to increase CI build speed
env: # You should hide you secrets like API token # Please follow https://buildkite.com/docs/pipelines/secrets KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: "204abb31f698a6686120a40efeff31e5" # allow to run the same set of test files on job retry # https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node KNAPSACK_PRO_FIXED_QUEUE_SPLIT: true steps: - command: "bundle exec rake knapsack_pro:queue:rspec" parallelism: 2
What are some alternatives?
lovelace-paper-buttons-row - Adds highly configurable buttons that use actions and per-state styling.
Aruba - Test command-line applications with Cucumber-Ruby, RSpec or Minitest.
github-action - GitHub Action for running Cypress end-to-end & component tests
rspec_junit_formatter - RSpec results that your CI can read
cache - Cache dependencies and build outputs in GitHub Actions
Knapsack - Knapsack splits tests evenly across parallel CI nodes to run fast CI build and save you time.
actions-setup-docker - Set up your GitHub Actions workflow with a specific version(18.09,19.03,20.10,nightly) of Docker ON Linux/macOS
email-spec - Collection of RSpec/MiniTest matchers and Cucumber steps for testing email in a ruby app using ActionMailer or Pony
upload-release-asset - An Action to upload a release asset via the GitHub Release API
WebsiteOne - A website for Agile Ventures
floatly - An extension that adds a floating button for browser quick actions
refactoring-aware-diff - RAID is a tool pipeline that seamlessly enriches GitHub diff results with refactoring information.