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

Use CircleCI orbs helpers for Node/Ruby management #446

Closed
wants to merge 14 commits into from
78 changes: 30 additions & 48 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,45 +1,10 @@
version: 2.1

executors:
ruby_browsers:
docker:
- image: cimg/ruby:3.1-browsers
environment:
BUNDLER_VERSION: 2.2.20
orbs:
node: circleci/node@5.2.0
ruby: circleci/ruby@2.1.2

commands:
node-install:
steps:
- run:
name: Switch Node.js version
command: |
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
export NVM_DIR="$HOME/.nvm"
. "$NVM_DIR/nvm.sh" --install --latest-npm
echo 'export NVM_DIR="$HOME/.nvm"' >> $BASH_ENV;
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> $BASH_ENV;
- run:
name: Print Node.js version
command: node -v
bundle-npm-install:
steps:
- node-install
- restore_cache:
key: dependency-cache-ruby-{{ checksum ".ruby-version" }}-{{ checksum "package-lock.json" }}-{{ checksum "Gemfile.lock" }}
- run:
name: Update Bundler
command: gem install bundler --version $BUNDLER_VERSION
- run:
name: Install bundle dependencies
command: bundle check --path ~/.bundler || bundle install --path ~/.bundler
- run:
name: Install dependencies
command: npm ci
- save_cache:
key: dependency-cache-ruby-{{ checksum ".ruby-version" }}-{{ checksum "package-lock.json" }}-{{ checksum "Gemfile.lock" }}
paths:
- ~/.npm
- ~/.bundler
build-docs:
steps:
- run:
Expand All @@ -57,47 +22,64 @@ commands:

jobs:
lints:
executor: ruby_browsers
docker:
- image: cimg/ruby:3.2-browsers
steps:
- checkout
- bundle-npm-install
- node/install
- node/install-packages
- ruby/install-deps
- run:
name: Lint JavaScript, Sass, and lockfiles
command: make lint
integration:
executor: ruby_browsers
docker:
- image: cimg/ruby:3.2-browsers
environment:
SKIP_VISUAL_REGRESSION_TEST: true
steps:
- checkout
- bundle-npm-install
- node/install
- node/install-packages
- ruby/install-deps
- run:
name: Run integration tests
command: npm test
snapshot-main:
executor: ruby_browsers
docker:
- image: cimg/ruby:3.2-browsers
steps:
- checkout
- run:
name: Checkout main
command: git checkout main
- bundle-npm-install
- node/install
- node/install-packages
- run:
name: Print Rubygems version
command: gem -v
- ruby/install-deps
- build-docs
- snapshot
snapshot-branch:
executor: ruby_browsers
docker:
- image: cimg/ruby:3.2-browsers
steps:
- checkout
- bundle-npm-install
- node/install
- node/install-packages
- ruby/install-deps
- build-docs
- snapshot
visual-regression:
executor: ruby_browsers
docker:
- image: cimg/ruby:3.2-browsers
environment:
ONLY_VISUAL_REGRESSION_TEST: true
steps:
- checkout
- bundle-npm-install
- node/install
- node/install-packages
- attach_workspace:
at: tmp/screenshot/branches
- run:
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ GEM
eventmachine (1.2.7)
ffi (1.16.3)
forwardable-extended (2.6.0)
google-protobuf (3.25.2)
google-protobuf (3.25.3)
Copy link
Member Author

Choose a reason for hiding this comment

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

This was part of my troubleshooting to resolve issues with bundle install on Ruby 3.3. It didn't help and I had to resort to downgrading to Ruby 3.2 (8d3e094), but figured to leave the update anyways.

http_parser.rb (0.8.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
Expand Down
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@
"target": "ESNext",
"baseUrl": "."
},
"exclude": ["build", "dist", "packages"]
"exclude": ["build", "dist", "packages", "vendor"]
}
Loading