Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,6 @@ jobs:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true

Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

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

The test suite exercises code paths that call out to npx/node (e.g., Depends API specs update the AppMap index via AppMap::NodeCLI). With the Node setup step removed, the job now relies on whatever Node/npm happen to be preinstalled on the runner, which can change and can break CI. Re-add actions/setup-node@v4 (and consider cache: npm) for the test job to make the environment deterministic.

Suggested change
- uses: actions/setup-node@v4
with:
node-version: lts/*

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Non-deterministic is actually good in this case IMO. This reflects more closely how the users will use it and will make it easier to catch any regressions.

- uses: actions/setup-node@v4
with:
node-version: lts/*
cache: 'yarn'

- name: Run tests
run: bundle exec rake test

Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
/html/
.bundle
/.yardoc
/.yarn
/_yardoc/
/coverage/
/doc/
Expand Down
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The official documentation for `appmap-ruby` is at [appland.com/docs](https://ap

## Integration with appmap-js

Most of the analytics functionality for AppMap JSON is implemented in [appmap-js](https://github.com/applandinc/appmap-js/). In particular, `packages/cli`. `appmap-ruby` includes the source code and dependencies of `@appland/appmap`. Check the [Rakefile](./Rakefile) for references to npm and/or yarn to see how the packaging works.
Most of the analytics functionality for AppMap JSON is implemented in [appmap-js](https://github.com/applandinc/appmap-js/). In particular, `packages/cli`. `appmap-ruby` invokes `@appland/appmap` via `npx` at runtime; no local installation is required.

Comment thread
dividedmind marked this conversation as resolved.
`appmap-ruby` executes command-line programs provided by `@appland/appmap`; it doesn't attempt to load a Node.js library in-process. `@appland/appmap` commands are designed to produce clean output on stdout, which is obtained and processed by `appmap-ruby`.

Expand Down
4 changes: 2 additions & 2 deletions README_CI.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ to avoid publication of test releases under official package name

Bash wrapper script is used merely as a launcher of `semantic-release`
with extra logic to explicitly determine git url from `GITHUB_REPOSITORY` \
variable if it's defined (otherwise git url is taken from `package.json`,
which breaks CI on forked repos).
variable if it's defined (otherwise semantic-release may resolve the wrong
repository URL on forked repos).

# CI flow

Expand Down
7 changes: 1 addition & 6 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,7 @@ Rake::ExtensionTask.new("appmap") do |ext|
ext.lib_dir = "lib/appmap"
end

desc 'Install non-Ruby dependencies'
task :install do
system 'yarn install' or raise 'yarn install failed'
end

RSpec::Core::RakeTask.new spec: %i[compile install] do |task, args|
RSpec::Core::RakeTask.new spec: [:compile] do |task, args|
task.exclude_pattern = 'spec/fixtures/**/*_spec.rb'
Comment thread
dividedmind marked this conversation as resolved.
task.rspec_opts = '-f doc'
if args.count > 0
Expand Down
22 changes: 0 additions & 22 deletions package.json

This file was deleted.

Loading
Loading