getappmap / getappmap/appmap-js
`Build native` runs as part of the release workflow
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 53
- Forks
- 18
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 8
Description
The @appland/appmap release flow works roughly as follows:
- New commits land on
mainand release begins via https://github.com/getappmap/appmap-js/blob/main/.github/workflows/main.yml#L227-L228 - Semantic release runs, thereby:
- Updating the version number in package.json
- Updates CHANGELOG
- Commits the above, where the commit message does not include
[skip ci]for the following steps - The commit is pushed to main and a tag for the release is created at this commit
- The new version is pushed to NPM, where the tag is
nextinstead oflatest, so end-users won't pick up the changes.
build-native.ymlis triggered via the newly pushed tag (https://github.com/getappmap/appmap-js/blob/main/.github/workflows/build-native.yml#L6-L7)- The project is built on platform-specific runners and binaries are appended to a GitHub Release associated with the tag
- Once all binaries are published, a final step,
finalize releaseupdates the tag on NPM tolatest, thereby triggering code editor users to pick up the new binaries.
Ideally the build native workflow would run as part of the regular release workflow on commit to main, instead of waiting for a tag push. It feels really fragile having the process split into two separate workflows across two distinct commits.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read .github/workflows/main.yml at the release steps around lines 227-228 and .github/workflows/build-native.yml, including its tag trigger and finalize release step around line 259. Trace how the release commit, tag, platform builds, GitHub Release assets, and NPM tag promotion currently connect; done means the native build runs within the regular release flow with the final NPM promotion still occurring after all binaries are published.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, typescript
- Domain
- build-system, ci-cd, release
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100