OpenFn / OpenFn/kit

Is asdf breaking openfnx?

Open
#650 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

question
Dominant language
TypeScript
Stars
21
Forks
23
Avg merge
1d 22h
Merged PRs (30d)
17

Description

If you run pnpm install:openfnx inside kit (and where else would you run it?) it'll install openfnx to the asdf context (version shim) associated with that folder.

If you then step out of kit and run openfnx, you MIGHT be calling the bin from a different asdf context, ifyou've got a global version set or a tool-versions or something.

Even worse, it might be that the different builds are reporting the same branch names. Certainly the output I just saw in mtuchi's log looked good. This is what he saw in his water-aid repo:

  water-aid git:(main) ✗ openfnx version
[CLI] ♦ Versions:
         ▸ node.js     18.12.1
         ▸ cli         branch/cli-cache
         ▸ runtime     ./openfn-runtime-1.1.1-local.tgz
         ▸ compiler    ./openfn-compiler-0.1.1-local.tgz

It looks fine! And yet behaved wrongly. I note that its using node 18.12 there, which is actually the same as what kit uses.

So I don't know. Maybe this is nothing. I need to do a few tests on my own machine and try to work this out.

I would like to ensure that install:openfnx registers the openfnx bin to some global place outside of asdf's reach. I want only one openfnx on the system. That may be impossible - the face is that asdf and any version manager is basically going to override whatever local config I set in kit. That's kind of the point.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing pnpm install:openfnx inside kit, then compare openfnx version from inside and outside that directory under different asdf contexts. Done means determining whether the commands resolve different binaries and whether a single global installation is feasible.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, typescript
Domain
cli, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.