-
-
Notifications
You must be signed in to change notification settings - Fork 197
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Read more for fix: #2058 (comment)
Describe the bug
When using Moon 1.38.6 with Proto 0.50.5 in GitHub Actions, Moon fails to parse Proto's manifest file due to incompatible JSON schema versions.
Moon stops running the pipeline and fails with the following:
Error: json::parse_file
× Failed to parse JSON file ~/.proto/tools/node/manifest.json.
╰─▶ unknown field `spec`, expected one of `backend`, `checksum`, `source` at
line 11 column 14
Seems to be some sort of breaking change that has changed the schema of the manifest file and moon is not expecting it.
Steps to reproduce
- Create
.prototoolsfile:
moon = "1.38.6"
proto = "0.50.5"
[settings]
auto-clean = true
auto-install = true- Create a
.moon/toolchain.ymlfile (typescript can be left out):
$schema: ./cache/schemas/toolchain.json
node:
packageManager: yarn
version: 22.15.0
addEnginesConstraint: true
syncPackageManagerField: true
yarn:
version: 4.9.2
typescript:
syncProjectReferences: false
includeSharedTypes: false- Create your github action and setup the environment
- Use the environment and configure a job that will run
moon ci - You should see the pipeline break and show a json parsing error
Expected behavior
- Moon detects the project structure and identifies all TypeScript projects in the workspace
- Moon uses Proto to find Node.js - it should detect the Proto-managed Node.js 22.15.0 installation
- Moon runs TypeScript compilation for all affected TypeScript projects using the detected Node.js version
- TypeScript compiler executes using Node.js 22.15.0 to compile .ts files to .js files
- Build succeeds with compiled output in dist/ directories
Screenshots
Environment
System:
OS: Linux 6.11 Ubuntu 24.04.2 LTS 24.04.2 LTS (Noble Numbat)
CPU: (2) x64 AMD EPYC 7763 64-Core Processor
Memory: 6.90 GB / 7.76 GB
Container: Yes
Shell: 5.2.21 - /bin/bash
Binaries:
Node: 22.15.0 - ~/.proto/shims/node
Yarn: 4.9.2 - ~/.proto/shims/yarn
npm: 10.8.2 - /usr/local/bin/npm
Managers:
Apt: 2.8.3 - /usr/bin/apt
Cargo: 1.88.0 - ~/.cargo/bin/cargo
Composer: 2.8.9 - /usr/bin/composer
Gradle: 8.14.3 - /usr/bin/gradle
Maven: 3.9.10 - /usr/bin/mvn
pip3: 24.0 - /usr/bin/pip3
RubyGems: 3.4.20 - /usr/bin/gem
Utilities:
Bazel: 8.3.1 - /usr/local/bin/bazel
CMake: 3.31.6 - /usr/local/bin/cmake
Make: 4.3 - /usr/bin/make
GCC: 13.3.0 - /usr/bin/gcc
Git: 2.50.1 - /usr/bin/git
Clang: 18.1.3 - /usr/bin/clang
Ninja: 1.13.0 - /usr/local/bin/ninja
Mercurial: 6.7.2 - /usr/bin/hg
Curl: 8.5.0 - /usr/bin/curl
OpenSSL: 3.0.13 - /usr/bin/openssl
Servers:
Nginx: 1.24.0 - /usr/sbin/nginx
Virtualization:
Docker: 28.0.4 - /usr/bin/docker
SDKs:
Android SDK:
API Levels: 33, 33, 34, 34, 34, 34, 34, 35, 35, 35, 36
Build Tools: 34.0.0, 35.0.0, 35.0.1, 36.0.0
Android NDK: 27.2.12479018
IDEs:
Nano: 7.2 - /usr/bin/nano
Vim: 9.1 - /usr/bin/vim
Languages:
Bash: 5.2.21 - /usr/bin/bash
Go: 1.24.4 - /usr/bin/go
Java: 17.0.15 - /usr/bin/javac
Perl: 5.38.2 - /usr/bin/perl
PHP: 8.3.6 - /usr/bin/php
Python: 3.12.3 - /usr/bin/python
Python3: 3.12.3 - /usr/bin/python3
Ruby: 3.2.3 - /usr/bin/ruby
Rust: 1.88.0 - /home/runner/.cargo/bin/rustc
Databases:
MySQL: 0.24.04.1 - /usr/bin/mysql
SQLite: 3.45.1 - /usr/bin/sqlite3
Browsers:
Chrome: 138.0.7204.100
Chromium: 138.0.7204.0
Monorepos:
Yarn Workspaces: 4.9.2
Additional context
I am using proto and moon in a new production service repository. It would be great to gain better understanding of this. I have multiple different combinations from moon v1.38.1 - v1.38.6 with proto v0.50.1 - 0.51.1
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working