Skip to content

chore(deps): update moon to v1.35.5 #93

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 15, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence Type Update
@moonrepo/cli (source) 1.26.7 -> 1.35.5 age adoption passing confidence devDependencies minor
moonrepo/moon 1.26.7 -> 1.35.5 age adoption passing confidence minor

Release Notes

moonrepo/moon (@​moonrepo/cli)

v1.35.5

Compare Source

🐞 Fixes
  • Potential fix for affected dependencies in the action pipeline not running and failing with a
    "missing hash" error.
  • Potential fix for "Bun" and "Node with Bun as a package manager" both installing dependencies in
    parallel and colliding.
  • Fixed an issue where downloading an invalid remote cache would not abort the hydrate process.

v1.35.4

Compare Source

🚀 Updates
  • Updated remote caching to error if an output file is a symlink to a file outside of the workspace.
🐞 Fixes
  • Fixed an issue with priority tasks where dependencies of the task may sometimes not run in the
    correct order in the pipeline.
  • Fixed an issue where task affectedFiles and runFromWorkspaceRoot would pass invalid relative
    file paths.
  • Fixed an issue where running tasks for custom plugins would trigger a panic.

v1.35.3

Compare Source

🚀 Updates
  • Updated remote uploads/downloads to abort when receiving a ctrl+c.
🐞 Fixes
  • Fixed an issue where interrupting (ctrl+c) a task that exits with a 0 code would treat is as
    succesful, resulting in an invalid cache.

v1.35.2

Compare Source

🚀 Updates
  • Improved bare repository support for Git v2.
  • Updated moon ci to support passing touched files via stdin.
🐞 Fixes
  • Fixed the faster/new glob implementation not filtering out hidden directories. This should now
    work like the old implementation.
  • Fixed the new Git v2 not working correctly for synced hooks and worktrees.

v1.35.1

Compare Source

🚀 Updates
  • Added locks to workspace graph building to avoid duplicate graphs.
  • Enabled TCP keep alive for remote service connections.
  • Tweaked the remote cache file size threshold.
🐞 Fixes
  • Fixed a scenario where task outputs would be partially hydrated from remote cache.

v1.35.0

Compare Source

🚀 Updates
  • Rewrote the action graph to support plugins. The following changes have been made.
    • Is now async compatible. In the future, we'll update it to also support concurrency, so that the
      graph can be built in parallel across threads.
    • Reduced the amount of edges (relationships) being created between nodes (actions).
    • Added a new InstallDependencies action for WASM plugins.
      • The dependencies root is now dynamically located by traversing the file system, unlike the
        previous implementation that assumed everything was in the workspace root.
    • Added a new SetupEnvironment action for WASM plugins.
      • This runs after SetupToolchain but before InstallDependencies.
      • Can be used to setup the workspace or project environment. For example, initializing Python
        venv, or making manifest/lockfile changes.
    • Updated RunTask to setup toolchains and install dependencies for each toolchain that has
      been configured, instead of just the 1st one (work in progress).
    • Updated SyncProject to no longer depend on SetupToolchain, and not be grouped by
      language/toolchain, and instead encompass all of them applicable to the project.
  • Added a new task option, cacheKey, which can be used to seed the hash, and invalidate local and
    remote caches.
  • Added a new task option, priority, that controls the position in the pipeline queue.
    • Supports critical, high, normal (default), or low.
  • Added a --log=verbose level, which includes span information on top of the trace level.
  • Added a light terminal theme. Can be enabled with --theme=light or MOON_THEME=light.
    • This is still a work in progress. Open to feedback on color/contrast choices.
  • Added 2 new webhooks, toolchain.installing and toolchain.installed, which emit when a
    toolchain WASM plugin is installing a tool (via proto).
  • Enabled the experiments.fasterGlobWalk and experiments.gitV2 experiments.
🧩 Plugins
  • Added tier 3 support (tier 2 still a work in progress).
  • Added new toolchain WASM APIs.
    • locate_dependencies_root - Locates the dependencies root (workspace).
    • setup_environment - Runs operations to setup an environment for a project/workspace before
      installing dependencies and running tasks.
    • install_dependencies - Defines commands to install/dedupe dependencies.
    • setup_toolchain - Runs operations after the tool has been installed.
    • teardown_toolchain - Runs operations before the tool will be uninstalled.
🐞 Fixes
  • Fixed the error handling of remote service uploads and downloads.
  • Fixed a timed out task displaying a generic and unhelpful error message.
⚙️ Internal
  • Linux binaries are now built on Ubuntu v22 instead of v20.
  • Rewrote our testing utilities and updated all tests.
  • Updated proto to v0.47.11 (from
    0.47.7).
  • Updated Rust to v1.86.0.

v1.34.3

Compare Source

🐞 Fixes
  • Attempted fix for the "plugin typescript already exists" error.
  • Fixed an issue where negated glob task inputs wouldn't filter the file list when hashing.
⚙️ Internal
  • Updated dependencies.

v1.34.2

Compare Source

🚀 Updates
  • Minor change to remote caching up/download batching to increase performance.
  • Reworked remote caching error handling.
🐞 Fixes
  • Fixed an issue where remote caching would fail to upload multiple blobs if the sum of their sizes
    exceed the max upload size.
  • Fixed an issue where the same plugin could be loaded multiple times.
  • Fixed an issue when parsing config/template files that contain a byte-order mark (BOM).
⚙️ Internal
  • Updated dependencies.

v1.34.1

Compare Source

🐞 Fixes
  • Fixed a compilation error when moon is installed through Cargo.
  • Fixed the version missing in --version and --help.
  • Fixed text wrapping issues when rendering tables in the terminal.

v1.34.0

Compare Source

💥 Breaking
  • We have sunset our moonbase service and removed its integration from
    moon. If you were using moonbase's remote caching, we suggest using
    Depot or self-hosting instead.
🚀 Updates
  • Integrated a new console rendering system with new terminal styles, prompts, and output.
    • Updated all applicable commands.
    • Updated moon templates to render a list of data.
    • Updated moon query projects and moon query tasks to render a table of data.
  • Added new settings to pipeline (formerly runner) in .moon/workspace.yml to control which
    kinds of action nodes exist in the action graph when running tasks.
    • syncWorkspace setting toggles the root SyncWorkspace action.
    • syncProjects setting toggles the SyncProject actions, and can be scoped to project IDs.
    • syncProjectDependencies setting toggles whether to recursively link SyncProject actions
      based on project dependencies.
    • installDependencies setting toggles the InstallWorkspaceDeps and InstallProjectDeps
      actions, and can be scoped to toolchain IDs.
  • Added an experiments.fasterGlobWalk setting to .moon/workspace.yml, that will use a better
    glob walker implementation. Do note that this is experimental and may be buggy!
    • In our benchmarks, it's on average 1.5-2x faster.
    • We also attempt to cache the results, which occurs quite often when running tasks.
    • Globs are now logged to better debug performance issues.
  • Added an experiments.gitV2 setting to .moon/workspace.yml, that uses a new Git implementation.
    • Has better support for submodules, subtrees, and worktrees.
    • Parallelizes processes when applicable.
    • Covers edge cases the v1 implementation did not support.
  • Added a --no-actions flag to moon run, that will run the task without including the other
    actions, like SyncProject, SetupToolchain, etc.
  • Added a --json flag to moon templates.
  • Deprecated the pipeline.archivableTargets setting. All tasks are now automatically cached if
    using Bazel Remote Caching.
  • Improved the performance of environment variable substitution.
  • Improved toolchain plugin loading to be on-demand.
  • Improved sync cache invalidation for codeowners, config schemas, and VCS hooks.
  • Updated moon docker file to inherit the default Docker image from any applicable toolchain
    plugins.
  • Updated moon sync to no longer be deprecated, and instead sync the workspace and all projects.
  • WASM API
    • Added DefineDockerMetadataOutput.default_image field.
    • Added SettingPrompt.description field.
⚙️ Internal
  • Updated Rust to v1.85.1.
  • Updated dependencies.

v1.33.3

Compare Source

🐞 Fixes
  • Fixed an issue where npx @​moonrepo/cli would no longer work.
  • Fixed an issue where toolchain.typescript = true in moon.yml would not inherit it as a
    toolchain.
⚙️ Internal
  • Updated proto to v0.47.7 (from 0.47.4).
  • Updated dependencies.

v1.33.2

Compare Source

🚀 Updates
  • Added MOON_REMOTE_* environment variables for many unstable_remote settings.
🐞 Fixes
  • Fixed an issue where project toolchain detection would not take the toolchain disabled state in
    moon.yml into account.
⚙️ Internal
  • Updated dependencies.

v1.33.1

Compare Source

🐞 Fixes
  • Fixed an issue where internal tasks could be ran when using the "run in closest project"
    shorthand.
  • Fixed an issue where the task preset would sometimes not be inherited when using extends.
🧩 Plugins
  • Updated typescript_toolchain to v0.1.3.
    • Will no longer error if a file in extends is missing during task hashing.

v1.33.0

Compare Source

💥 Breaking
  • Changed the way to disable the TypeScript toolchain in moon.yml.

v1.32.9

Compare Source

🐞 Fixes
  • Reverted "Fixed an issue where task output wasn't captured for the "review" section in a run
    summary." as it caused a regression.

v1.32.8

Compare Source

🐞 Fixes
  • Fixed an issue where task output wasn't captured for the "review" section in a run summary.
  • Fixed an issue where a task with a script would always be forced to the "system" toolchain.

v1.32.7

Compare Source

🚀 Updates
  • Updated moon task-graph, moon-project-graph, and moon action-graph to request a port
    dynamically, instead of defaulting to 8000.
🐞 Fixes
  • Fixed an issue where moon *-graph commands could not be CTRL+C'd.
  • Fixed an issue where Git based template locations would fail if the initial git clone failed.

v1.32.6

Compare Source

🐞 Fixes
  • Fixed an issue where aliases would not be inherited for some toolchains.
  • Fixed some token variable interpolation for paths on Windows.

v1.32.5

Compare Source

🚀 Updates
  • Updated Python uv with new features:
    • Project aliases are inferred from project.name in pyproject.toml.
    • Implicit project dependencies are inferred from project.dependencies in pyproject.toml.
      • Requires a bare identifier with no version/url/origin markers.
      • Currently does not support tool.uv or workspaces.
🐞 Fixes
  • Fixed an issue where no touched files would be found when pushing commits on the default branch.
  • Fixed an issue where pyproject.toml or uv.lock would sometimes not be parsed.

v1.32.4

Compare Source

🐞 Fixes
  • Fixed an issue where a project could be inserted into the project graph multiple times.
  • Fixed an issue where touched files would sometimes not be available outside of affected scopes.

v1.32.3

Compare Source

🐞 Fixes
  • Fixed an issue where moon setup wouldn't load configuration.
  • Fixed an issue where moon docker scaffold would unexpectedly install the toolchain languages.
  • Fixed an issue where moon docker scaffold would not copy uv.toml and uv.lock files.
  • Fixed an issue where changing python.version wouldn't regenerate the Python virtual environment.

v1.32.2

Compare Source

🐞 Fixes
  • Fixed an issue where NO_COLOR or FORCE_COLOR would be overwritten for task child processes.
⚙️ Internal
  • Updated proto to v0.45.2 (from 0.45.1).
  • Updated dependencies.

v1.32.1

Compare Source

🚀 Updates
  • Added a runner.killProcessThreshold setting to control the threshold in which to force kill
    child processes when a signal is received. Defaults to 2 seconds.
🐞 Fixes
  • Fixed an issue where bash and batch project language's would not inherit tasks.
  • Fixed some bun.lock parsing issues.

v1.32.0

Compare Source

🚀 Updates
  • Added unstable support for multiple package workspaces when installing dependencies and resolving
    lockfiles.
    • For example, you can now have multiple yarn.lock files throughout the repository, allowing for
      multiple Yarn/Node workspaces.
  • Updated Pkl (.pkl) based configuration to always be enabled, and is no longer hidden behind an
    experimental flag.
  • Updated our unstable remote service (Bazel RE API) with new functionality:
    • You can now use http(s) protocols for gRPC servers, instead of just grpc(s).
    • Added an unstable_remote.api setting, which can be used to inform the server's API format.
      Defaults to grpc.
    • Added an unstable_remote.auth setting, which can be used for HTTP Bearer/token Authorization
      based endpoints. Can also be used to set headers for all requests.
    • Added support for Depot cloud-based caching: https://depot.dev/docs/cache/overview
    • Added support for the HTTP protocol: https://bazel.build/remote/caching#http-caching
    • Added support for the ByteStream API.
    • Added timeout and concurrency limit to clients.
    • Added a MOON_DEBUG_REMOTE environment variable, which can be used to debug internal errors for
      diagnosing connection/integration issues.
    • Improved handling of TLS/mTLS connections.
  • Improved the Bun toolchain.
    • Added support for the new v1.2 bun.lock file. We do our best to detect this, but we suggest
      configuring --save-text-lockfile.
  • Improved the Deno toolchain.
    • Added support for Deno v2 and deno install. Will now run this command instead of deno cache.
    • Added support for v3 and v4 lockfiles (we now use the deno_lockfile crate).
    • Added basic support for workspaces.
    • Added deno.installArgs setting.
  • Improved the Python toolchain.
    • Added unstable uv support. Can be enabled with the new python.packageManager and python.uv
      settings.
      • Right now, has basic toolchain support, including dependency installs and virtual
        environments.
    • Renamed python.rootRequirementsOnly to python.rootVenvOnly (old name still works).
    • Will now inherit versions from the root .prototools.
  • Improved the Rust toolchain.
    • The root-level project is now properly taken into account when detecting if a project is within
      the Cargo workspace.
    • Project dependencies (dependsOn) are now automatically inferred from Cargo.toml
      dependencies.
  • Reworked child process handling to better handle signals and shutdown accordingly. Additionally,
    when the pipeline receives a signal, we now display the status that shutdown the pipeline in the
    summary.
  • Reworked the new task inferInputs option to not infer environment variables from popular CI/CD
    providers, as those values constantly change, causing tasks to always be affected. If you would
    like to reference these values, add them as an explicit inputs.
🐞 Fixes
  • Fixed lots of issues around remote caching. Should be "stable" now.
⚙️ Internal
  • Updated Rust to v1.84.1.

v1.31.3

Compare Source

🐞 Fixes
  • This patch upgrades proto to the latest version to fix some bin locating issues that you may have
    encountered if you have proto v0.45 installed on your system, which conflicts with the proto v0.44
    that moon installs.
⚙️ Internal
  • Updated proto to v0.45.1 (from 0.44.4).

v1.31.2

Compare Source

🚀 Updates
  • Added file locks for certain operations to avoid race collisions when multiple moon commands are
    ran in parallel.
🐞 Fixes
  • Fixed an issue where inferred inputs would include directories that would log a warning and fail
    to be hashed.
⚙️ Internal
  • Updated Rust to v1.84.

v1.31.1

Compare Source

🐞 Fixes
  • Fixed NO_COLOR and FORCE_COLOR being unexpectedly set in some situations.
  • Fixed an issue where a custom project language would no longer inherit global tasks of the same
    name.
⚙️ Internal
  • Updated proto to v0.44.4 (from 0.44.2).

v1.31.0

Compare Source

💥 Breaking
  • We've updated the task inheritance order to better reflect specificity. The biggest changes are
    that deno/node/bun are now a higher priority than javascript/typescript, and stack is the lowest
    priority. This should only affect users with very complex inheritance chains.
🚀 Updates
  • We are deprecating the concept of the "platform", as this is required for the next step in
    supporting WASM based toolchain plugins. Going forward, any reference to platform is now a
    toolchain. The following changes have been made:
    • Deprecated the top-level platform setting in moon.yml, use toolchain.default instead.
      • Additionally, the toolchain can now be inferred from the top-level language setting and any
        config files in the project/workspace root. This pattern is preferred when possible.
    • Deprecated the platform task setting, use toolchain instead.
    • Deprecated the taskPlatform query field, use taskToolchain instead.
    • Deprecated the --platform option for moon query tasks, use --toolchain instead.
    • Deprecated the $taskPlatform token, use $taskToolchain instead.
  • Added the ability to run targets in moon run and moon ci using a glob-like syntax.
    • For example: :build-*, app-*:build, #tag-{foo,bar}:build, etc.
  • Added a --no-bail flag to moon run, that will continue running tasks even when a task fails.
  • Added glob support (and glob://) to generator.templates in .moon/workspace.yml, allowing you
    to glob for your codegen template locations.
  • Added a task option inferInputs, that will automatically infer inputs based on file groups and
    substituted environment variables used within the task.
  • Updated task option runInCI to support the values "always" (always run) and "affected" (only run
    if affected, same as true).
  • Updated task inputs to automatically be inherited from file group token functions used within the
    task's script, command, args, or env.
  • Updated the extends setting in .moon/workspace.yml, toolchain.yml, and tasks.yml, to
    support a list of files/URLs to extend.
  • Updated our unstable remote service (Bazel RE API) with new functionality:
    • Added an unstable_remote.cache.compression setting, which can be set to zstd to enable
      zstandard compression on output blobs.
    • Symlink based outputs will now be created as symlinks on Windows, where previously they were
      copies. Do note that symlinks require
      privileged access on Windows
      to function correctly.
  • Updated the moon templates command:
    • Templates are now sorted by identifier.
    • Added a --filter option to filter the templates list by ID.
  • Updated toolchain dependency installs to retry up to 3 attempts if the install command fails.
  • Improved the task output prefixing logic.
🐞 Fixes
  • Fixed a panic that could occur during command argument parsing.
  • Fixed an issue where remote cached blobs would sometimes fail to be created locally.
  • Fixed an issue when ctrl+cing multiple persistent tasks would sometimes leave them running in
    the background.
⚙️ Internal
  • Updated proto to v0.44.2 (from 0.44.1).
  • Updated dependencies.

v1.30.6

Compare Source

🐞 Fixes
  • Fixed an issue where python venv would fail to find an applicable Python version.
  • Fixed an issue with PowerShell Git hooks not bubbling up exit codes of failed commands.
  • Fixed an issue where Git submodules/worktrees would point to the wrong hooks folder.
⚙️ Internal
  • Updated proto to v0.44.1 (from 0.43.1).

v1.30.5

Compare Source

🐞 Fixes
  • Fixed Python virtual env bin path not being available for tasks when python.version is not
    defined.
⚙️ Internal
  • Updated proto to v0.43.1 (from 0.43.0).
  • Updated dependencies.

v1.30.4

Compare Source

🐞 Fixes
  • Fixed moon ci showing incorrect job related logs.
  • Fixed some issues with the Python toolchain:
    • pip is no longer required to be enabled to activate a virtual environment.
    • Changed python.rootRequirementsOnly to false by default.
    • The venv root is now the location of a found requirements.txt, otherwise the package root, or
      workspace root if python.rootRequirementsOnly is enabled.
    • Tasks will now inherit the correct venv paths in PATH.

v1.30.3

Compare Source

🐞 Fixes
  • Fixed an issue where a task with explicit no inputs (inputs: []) would always be marked as
    affected.
⚙️ Internal
  • Updated proto to v0.43.0 (from 0.42.2).
  • Updated wasmtime to v26 (from v23).
  • Updated Rust to v1.83.

v1.30.2

Compare Source

🐞 Fixes
  • Fixed an issue where dependencies/dependents of an affected task would be skipped in the action
    graph if they were also not affected.
  • Fixed a potential cycle (stack overflow) that may occur in the affected tracker.
⚙️ Internal
  • Improved task dependent resolution in the action graph.

v1.30.1

Compare Source

🐞 Fixes
  • Fixed a Git "fatal: bad object" error when submodules are in being used.
  • Fixed an issue where moon ci would trigger a shallow checkout error, even when a base revision
    is provided.
  • Fixed an issue were changes in a non-direct dependency would not mark a deep dependent as
    affected.

v1.30.0

Compare Source

💥 Breaking
  • If you renamed a project using the id setting in moon.yml, you can no longer reference that
    project in dependencies and targets using its original ID.
  • Refactored the moon query tasks command.
    • CLI options have been replaced with new task based options, instead of being project based.
    • Now utilizes the new task graph and affected tracker.
  • The moon project-graph --json output no longer includes task data (the tasks field is an empty
    map).
    • Use moon task-graph to access this data, and piece things together using the project
      taskTargets field.
    • The moon project --json output pieces everything together automatically.
🚀 Updates
  • Added unstable support for self-hosted remote caches, powered by the
    Bazel Remote Execution API.
    • Allows for 3rd-party implementations like
      bazel-remote to be used.
    • Currently supports the gRPC protocol, and will support HTTP in a later release.
    • Our moonbase product will be sunset in the future.
  • Added Python tier 2 and 3 support.
    • Will download and install Python into the toolchain when a version is configured.
    • Will parse the requirements.txt to resolve and install dependencies.
    • Added a python setting to .moon/toolchain.yml.
    • Added a toolchain.python setting to moon.yml.
    • Updated moon bin commands to support Python.
  • Added a new task graph, that enables new granular based functionality for task related features.
    • Added a new moon task-graph command.
    • Can now control the depth of upstream (dependencies) and downstream (dependents).
    • Affected information now tracks based on dependent graph connections.
    • Added --upstream and --downstream options to moon query tasks.
  • Added basic support for Git submodules, and will now extract touched files from all submodules.
  • Added 7 new token variables: $arch, $os, $osFamily, $vcsBranch, $vcsRepository,
    $vcsRevision, $workingDir
  • Added a rust.binstallVersion setting to .moon/toolchain.yml.
  • Updated Pkl configurations to support read() for environment variables.
  • Resolved the strictProjectIds experiment and you can no longer reference the original ID.
  • Resolved the disallowRunInCiMismatch experiment and you can no longer have a CI based task
    depend on a non-CI based task.
🐞 Fixes
  • Fixed moon project-graph <id> not including all dependencies/dependents. It was only showing
    direct relationships.
  • Fixed an issue where touched file paths would include Git submodule directories and trigger hasher
    warnings.
⚙️ Internal
  • Updated dependencies.
  • Updated proto to v0.42.2 (from 0.42.0).

v1.29.4

Compare Source

🚀 Updates
  • Added an experiments.strictProjectIds setting to .moon/workspace.yml. When enabled, will
    disallow using original IDs for renamed projects (via the id setting) when building the project
    graph.
  • Updated codegen/template destination to be relative from the workspace root if prefixed with
    /, otherwise the current working directory.
🐞 Fixes
  • Fixed an issue where moon would attempt to execute a folder if it has the same name as the current
    shell.
  • Fixed an issue where [working_dir] and [workspace_root] variables were not working in the
    template.yml destination setting.
⚙️ Internal
  • Updated dependencies.
  • Updated proto to v0.42.0 (from 0.41.3).

v1.29.3

Compare Source

🐞 Fixes
  • Fixed an issue running npx commands (primarily through lockfile deduping).

v1.29.2

Compare Source

🚀 Updates
  • Removed the warning around .env files not existing in certain environments.
🐞 Fixes
  • Fixed an issue where the task option timeout would apply to the overall run, and not for each
    attempt when using the retryCount option.
⚙️ Internal
  • Updated Rust to v1.82.

v1.29.1

Compare Source

🚀 Updates
  • Added a new task option merge, that defines the same strategy for all applicable fields. Can be
    overridden with mergeX task options.
  • Added a moon setting to .moon/toolchain.yml, which can be used to customize the update check
    process.
🐞 Fixes
  • Fixed moon query projects including dependency projects by default. Can be controlled with
    --upstream.
  • Fixed moon query projects regex patterns not working when used in conjunction with affected.
  • Fixed Bash-based hooks being generated with the wrong path separators on Windows.
  • Fixed an issue where an inherited task with merge strategy "replace" will accidentally remove task
    args, deps, and env in inheriting tasks.
  • Fixed an issue where token variables and environment variables used within task args together
    would not be replaced correctly.

v1.29.0

Compare Source

🚀 Updates
  • Implemented a new affected project tracker that is more accurate and more powerful.
    • Can now control the depth of upstream (dependencies) and downstream (dependents).
    • Affected information now logs more information and is included in reports/JSON.
    • Added --upstream and --downstream options to moon query projects.
    • Coming soon for affected tasks as well!
  • Implemented experimental support for a new configuration language, Pkl!
    • Pkl is programmable, allowing for variables, loops, conditionals, and more.
  • Added a new task option, cacheLifetime, that controls how long a task will be cached for.
  • Added a new task merge strategy, preserve, that preserves the original inherited value.
  • Added a new setting vcs.hookFormat to .moon/workspace.yml, that can customize the shell/file
    format for hooks.
  • Added "sync workspace action" support to toolchain plugins. This is our first step in supporting
    toolchains via WASM plugins.
  • Updated task outputs to support token and environment variables.
  • Updated moon query projects to include the project description as a trailing value.
  • Updated moon query tasks to include the task type and platform, and the task description as a
    trailing value.
🐞 Fixes
  • Fixed an issue where a root project in a polyrepo would not default to **/* inputs for tasks.
  • Potential fix for an issue that occurs when multiple toolchains of the same type (2 different
    Node.js versions for example) would fail in weird ways when installing in parallel.
⚙️ Internal
  • Updated identifiers and targets to use compact strings.
  • Updated proto to v0.41.3 (from 0.40.4).
  • Updated wasmtime to v23 (from v17).

v1.28.3

Compare Source

🐞 Fixes
  • Fixed an issue where VCS hooks were not being generated in Docker (requires .git to exist).
  • Fixed an issue where projects whose id was renamed in moon.yml wasn't being reflected when
    inheriting project dependencies through the toolchain/platform integration.
  • Fixed optionalDependencies not being considered a project relationship for Bun/Node implicit
    package.json detection.

v1.28.2

Compare Source

🚀 Updates
  • Updated cached task outputs to now be prefixed with the task target when printing to the console.
  • Updated Bun/Yarn lockfile parsing to temporarily log a warning on parse failure instead of exiting
    with an error. This change was made as there are currently no actionable or human-readable error
    messages.
🐞 Fixes
  • Fixed an issue where empty lines were being trimmed while streaming task console output.
  • Fixed an issue where tasks that errored before the command is executed, would swallow the error
    in moon ci.
    • It would also put the task in a non-failed state depending on the order of operations. This
      should be correct now.

v1.28.1

Compare Source

🚀 Updates
  • Added caching around bun bun.lockb commands, instead of running them for every task.
  • Updated and loosened identifier naming restrictions.
  • Updated environment variable substitution to support different outputs when a variable is missing,
    based on a trailing flag syntax.
    • $FOO or ${FOO} - If variable is missing, keeps the original syntax (current default).
    • $FOO? or ${FOO?} - If variable is missing, replaces with an empty string.
    • $FOO! or ${FOO!} - Ignores variable substitution and preserves the syntax (without !).
🐞 Fixes
  • Fixed an issue where an affected task with files that contain non-standard characters would fail
    to run because Bash expansion fails. We now quote file paths that contain *, $, +, and [].
⚙️ Internal
  • Updated Rust to v1.81.

v1.28.0

Compare Source

💥 Breaking
  • Extensions (WASM plugins) must implement the register_extension API. All built-in extensions
    have been updated.
🚀 Updates
  • Resolved the actionPipelineV2 experiment and the new pipeline is now always enabled. The old
    pipeline code has been deleted. If you run into any problems, please report an issue!
  • Resolved the strictProjectAliases experiment and enabled its functionality going forward.
  • Added a preset task setting, that enables a collection of task options.
    • Will be replacing the local setting, which is now deprecated.
  • Added an os task option, which allows a specific operating system to be targeted for the task.
  • Added a @meta token function that can access project metadata.
  • Added $projectName, $projectChannel, and $projectOwner token variables.
  • Added codeowners.requiredApprovals setting to .moon/workspace.yml, that will apply
    requirements to all paths.
  • Added a new experiment disallowRunInCiMismatch, that errors when a task that is runInCI
    enabled depends on a task that is runInCI disabled. These kinds of relationships cause a handful
    of issues in the pipeline.
    • Currently this only applies to moon ci and may also apply to moon run in the future.
  • Updated the terminal checkpoint (4 squares) colors to better reflect their state.
    • Cached tasks continue to be blue, but non-cached but successful tasks are now green.
    • Announcements are now yellow.
  • Updated MOON_TOOLCHAIN_FORCE_GLOBALS to support filtering by tool IDs, instead of applying to
    everything.
⚙️ Internal
  • We've sunset the CI insights feature in moonbase. We will no longer be tracking CI run history.
    This is a retroactive change that applies to all moon versions.
  • Updated proto to v0.40.4 (from v0.39.7).

v1.27.10

Compare Source

🐞 Fixes
  • Fixed an issue around running dependents when a dependency is affected in CI.

v1.27.9

Compare Source

🐞 Fixes
  • Fixed a regression where the "primary target" detection would include far too many targets. This
    would result in passthrough arguments being unintentionally passed deeper.
  • Fixed a regression where dependent tasks would always run in CI.

v1.27.8

Compare Source

🚀 Updates
  • We now log messages when inheriting values from the root .prototools.
🐞 Fixes
  • Fixed a panic that occurs in the action graph builder.
  • Fixed an issue where the root .prototools wasn't always loaded.

v1.27.7

Compare Source

🐞 Fixes
  • Fixed an issue where codeowners requiredAppprovals wouldn't allow 1.
  • Fixed an issue where a task that depends on another task that has runInCI: false, would not run
    as affected in moon ci because the dependency task was skipped.

v1.27.6

Compare Source

📢 Notice

There have been reports of the moon.exe binary being flagged as a Trojan on Windows. This looks to
be a common false positive (Wacatac.B!ml) that targets Rust built binaries (as seen in the
Tauri project as well).

While this isn't a simple fix on our end, we're publishing a new binary to replace the old one. You
may also have to unquarantine moon on your system. And lastly, we also suggest
adding an exclusion for moon.exe to Windows Defender.

⚙️ Internal
  • Updated proto to v0.39.7 (from v0.38.3).
  • Updated Rust to v1.80.
  • Updated dependencies.

v1.27.5

Compare Source

🐞 Fixes
  • Fixed an issue where token expansion would clobber variable replacement when multiple variables
    are used.
  • Fixed internal tasks being displayed in moon query results.

v1.27.4

Compare Source

🐞 Fixes
  • Fixed an issue where moon docker scaffold would not respect .gitignore files.
  • Fixed an issue where task hashing would potentially hash too many files when extracting touched
    files from git status.
  • Fixed an issue where the automatic dependency installation wasn't triggering when switching
    branches.

v1.27.3

Compare Source

🚀 Updates
  • Added project.metadata to moon.yml so that custom fields can be defined.
  • Improved some task related error messages to include more information.
🐞 Fixes
  • Fixed an issue where the new action pipeline wouldn't wait for in-flight moonbase (remote caching)
    requests to finish. The old pipeline was not affected.
  • Fixed @in and @out tokens not being able to reference other token functions.

v1.27.2

Compare Source

🐞 Fixes
  • Fixed an issue where file groups expanded with task script or env weren't resolving relative
    to the project or workspace root (based on options).
⚙️ Internal
  • Updated proto to v0.38.3 (from v0.38.2).

v1.27.1

Compare Source

🐞 Fixes
  • Fixed an issue around running dependents when a dependency is affected in CI.

v1.27.0

Compare Source

🚀 Updates
  • Enabled the experiments.actionPipelineV2 setting in .moon/workspace.yml by default.
    • If you run into any issues running tasks, disable this setting and report an issue.
  • Added a new task field script, as an alternative to command + args.
    • Scripts support multiple commands (&&), pipes, and redirects.
    • Scripts do not support task inheritance argument merging.
    • Scripts are always ran in a shell.
  • Added a new command, moon docker file, that can be used to generate an initial multi-stage
    Dockerfile for a project.
  • Added new docker settings to both .moon/workspace.yml and moon.yml, allowing it to be
    configured at the workspace and project levels.
  • Added support for murex shells.
    • Updated both unixShell and windowsShell task options.
  • Improved the "automatically install dependencies if a manifest/lockfile has changed" flow. This
    should trigger less than before.
  • We now generate JSON schemas for our configuration files to .moon/cache/schemas, so that they
    can be dynamically created based on the current moon version and environment.
    • Is automatically generated when running a task.
    • Added a moon sync config-schemas command to manually run this operation.
  • When writing JSON and YAML files, we attempt to write back to the file with its original
    indentation.
🐞 Fixes
  • Fixed action operations not being present in the run report when a task fails to run.
  • Fixed stdout/stderr not being included in the summary review of failed tasks.
🧰 Toolchain
  • Node
    • Added a node.syncPackageManagerField setting, to control the packageManager field in
      package.json.
  • Yarn
    • Will no longer call yarn set version and instead rely entirely on proto's toolchain.
⚙️ Internal
  • Updated proto to v0.38.2 (from v0.37.2).
moonrepo/moon (moonrepo/moon)

v1.35.5

Compare Source

🐞 Fixes
  • Potential fix for affected dependencies in the action pipeline not running and failing with a
    "missing hash" error.
  • Potential fix for "Bun" and "Node with Bun as a package manager" both installing dependencies in
    parallel and colliding.
  • Fixed an issue where downloading an invalid remote cache would not abort the hydrate process.

v1.35.4

Compare Source

🚀 Updates
  • Updated remote caching to error if an output file is a symlink to a file outside of the workspace.
🐞 Fixes
  • Fixed an issue with priority tasks where dependencies of the task may sometimes not run in the
    correct order in the pipeline.
  • Fixed an issue where task affectedFiles and runFromWorkspaceRoot would pass invalid relative
    file paths.
  • Fixed an issue where running tasks for custom plugins would trigger a panic.

v1.35.3

Compare Source

🚀 Updates
  • Updated remote uploads/downloads to abort when receiving a ctrl+c.
🐞 Fixes
  • Fixed an issue where interrupting (ctrl+c) a task that exits with a 0 code would treat is as
    succesful, resulting in an invalid cache.

v1.35.2

Compare Source

🚀 Updates
  • Improved bare repository support for Git v2.
  • Updated moon ci to support passing touched files via stdin.
🐞 Fixes
  • Fixed the faster/new glob implementation not filtering out hidden directories. This should now
    work like the old implementation.
  • Fixed the new Git v2 not working correctly for synced hooks and worktrees.

v1.35.1

Compare Source

🚀 Updates
  • Added locks to workspace graph building to avoid duplicate graphs.
  • Enabled TCP keep alive for remote service connections.
  • Tweaked the remote cache file size threshold.
🐞 Fixes
  • Fixed a scenario where task outputs would be partially hydrated from remote cache.

v1.35.0

Compare Source

🚀 Updates
  • Rewrote the action graph to support plugins. The following changes have been made.
    • Is now async compatible. In the future, we'll update it to also support concurrency, so that the
      graph can be built in parallel across threads.
    • Reduced the amount of edges (relationships) being created between nodes (actions).
    • Added a new InstallDependencies action for WASM plugins.
      • The dependencies root is now dynamically located by traversing the file system, unlike the
        previous implementation that assumed everything was in the workspace root.
    • Added a new SetupEnvironment action for WASM plugins.
      • This runs after SetupToolchain but before InstallDependencies.
      • Can be used to setup the workspace or project environment. For example, initializing Python
        venv, or making manifest/lockfile changes.
    • Updated RunTask to setup toolchains and install dependencies for each toolchain that has
      been configured, instead of just the 1st one (work in progress).
    • Updated SyncProject to no longer depend on SetupToolchain, and not be grouped by
      language/toolchain, and instead encompass all of them applicable to the project.
  • Added a new task option, cacheKey, which can be used to seed the hash, and invalidate local and
    remote caches.
  • Added a new task option, priority, that controls the position in the pipeline queue.
    • Supports critical, high, normal (default), or low.
  • Added a --log=verbose level, which includes span information on top of the trace level.
  • Added a light terminal theme. Can be enabled with --theme=light or MOON_THEME=light.
    • This is still a work in progress. Open to feedback on color/contrast choices.
  • Added 2 new webhooks, toolchain.installing and toolchain.installed, which emit when a
    toolchain WASM plugin is installing a tool (via proto).
  • Enabled the experiments.fasterGlobWalk and experiments.gitV2 experiments.
🧩 Plugins
  • Added tier 3 support (tier 2 still a work in progress).
  • Added new toolchain WASM APIs.
    • locate_dependencies_root - Locates the dependencies root (workspace).
    • setup_environment - Runs operations to setup an environment for a project/workspace before
      installing dependencies and running tasks.
    • install_dependencies - Defines commands to install/dedupe dependencies.
    • setup_toolchain - Runs operations after the tool has been installed.
    • teardown_toolchain - Runs operations before the tool will be uninstalled.
🐞 Fixes
  • Fixed the error handling of remote service uploads and downloads.
  • Fixed a timed out task displaying a generic and unhelpful error message.
⚙️ Internal
  • Linux binaries are now built on Ubuntu v22 instead of v20.
  • Rewrote our testing utilities and updated all tests.
  • Updated proto to v0.47.11 (from 0.47.7).
  • Updated Rust to v1.86.0.

v1.34.3

Compare Source

🐞 Fixes
  • Attempted fix for the "plugin typescript already exists" error.
  • Fixed an issue where negated glob task inputs wouldn't filter the file list when hashing.
⚙️ Internal
  • Updated dependencies.

v1.34.2

Compare Source

🚀 Updates
  • Minor change to remote caching up/download batching to increase performance.
  • Reworked remote caching error handling.
🐞 Fixes
  • Fixed an issue where remote caching would fail to upload multiple blobs if the sum of their sizes
    exceed the max upload size.
  • Fixed an issue where the same plugin could be loaded multiple times.
  • Fixed an issue when parsing config/template files that contain a byte-order mark (BOM).
⚙️ Internal
  • Updated dependencies.

v1.34.1

Compare Source

🐞 Fixes
  • Fixed a compilation error when moon is installed through Cargo.
  • Fixed the version missing in --version and --help.
  • Fixed text wrapping issues when rendering tables in the terminal.

v1.34.0

Compare Source

💥 Breaking
  • We have sunset our moonbase service and removed its integration from
    moon. If you were using moonbase's remote caching, we suggest using
    Depot or self-hosting instead.
🚀 Updates
  • Integrated a new console rendering system with new terminal styles, prompts, and output.
    • Updated all applicable commands.
    • Updated moon templates to render a list of data.
    • Updated moon query projects and moon query tasks to render a table of data.
  • Added new settings to pipeline (formerly runner) in .moon/workspace.yml to control which
    kinds of action nodes exist in the action graph when running tasks.
    • syncWorkspace setting toggles the root `SyncWo

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/moon branch from be00e01 to 9527d3c Compare July 15, 2024 21:49
@renovate renovate bot changed the title Update dependency moonrepo/moon to v1.27.0 Update moon to v1.27.0 Jul 15, 2024
@renovate renovate bot force-pushed the renovate/moon branch from 9527d3c to ddd4338 Compare July 16, 2024 19:06
@renovate renovate bot changed the title Update moon to v1.27.0 Update moon to v1.27.1 Jul 16, 2024
@renovate renovate bot force-pushed the renovate/moon branch from ddd4338 to 84e59bd Compare July 18, 2024 06:56
@renovate renovate bot changed the title Update moon to v1.27.1 Update moon to v1.27.2 Jul 18, 2024
@renovate renovate bot force-pushed the renovate/moon branch from 84e59bd to 82ed7f7 Compare July 23, 2024 00:26
@renovate renovate bot changed the title Update moon to v1.27.2 Update moon to v1.27.3 Jul 23, 2024
@renovate renovate bot force-pushed the renovate/moon branch from 82ed7f7 to 0bf9f64 Compare July 26, 2024 18:58
@renovate renovate bot changed the title Update moon to v1.27.3 Update moon to v1.27.4 Jul 26, 2024
@renovate renovate bot force-pushed the renovate/moon branch from 0bf9f64 to 7fbbef5 Compare July 30, 2024 00:54
@renovate renovate bot changed the title Update moon to v1.27.4 Update moon to v1.27.5 Jul 30, 2024
@renovate renovate bot force-pushed the renovate/moon branch from 7fbbef5 to b876dcb Compare August 7, 2024 09:50
@renovate renovate bot changed the title Update moon to v1.27.5 Update moon to v1.27.6 Aug 7, 2024
@renovate renovate bot changed the title Update moon to v1.27.6 Update moon to v1.27.7 Aug 19, 2024
@renovate renovate bot changed the title Update moon to v1.27.7 Update moon to v1.27.8 Aug 20, 2024
@renovate renovate bot changed the title Update moon to v1.27.8 Update moon to v1.27.9 Aug 21, 2024
@renovate renovate bot changed the title Update moon to v1.27.9 Update moon to v1.27.10 Aug 22, 2024
@renovate renovate bot changed the title Update moon to v1.27.10 Update moon to v1.28.0 Sep 2, 2024
@renovate renovate bot changed the title Update moon to v1.28.0 Update moon to v1.28.1 Sep 6, 2024
@renovate renovate bot changed the title Update moon to v1.28.1 Update moon to v1.28.2 Sep 12, 2024
@renovate renovate bot changed the title Update moon to v1.28.2 chore(deps): update moon to v1.28.2 Sep 18, 2024
@github-actions github-actions bot requested a deployment to [site] (renovate/moon) March 19, 2025 03:00 Abandoned
@renovate renovate bot force-pushed the renovate/moon branch from ad7a41d to 3c39801 Compare March 23, 2025 21:34
@renovate renovate bot changed the title chore(deps): update moon to v1.33.2 chore(deps): update moon Mar 23, 2025
@renovate renovate bot force-pushed the renovate/moon branch from 3c39801 to 48f3a74 Compare March 24, 2025 02:58
@renovate renovate bot changed the title chore(deps): update moon chore(deps): update moon to v1.33.3 Mar 24, 2025
@renovate renovate bot force-pushed the renovate/moon branch from 48f3a74 to 8898673 Compare March 31, 2025 03:15
@renovate renovate bot changed the title chore(deps): update moon to v1.33.3 chore(deps): update moon to v1.34.0 Mar 31, 2025
@renovate renovate bot force-pushed the renovate/moon branch from 8898673 to 0247d81 Compare April 2, 2025 19:12
@renovate renovate bot changed the title chore(deps): update moon to v1.34.0 chore(deps): update moon to v1.34.1 Apr 2, 2025
@renovate renovate bot force-pushed the renovate/moon branch from 0247d81 to 7147bd9 Compare April 7, 2025 06:02
@renovate renovate bot changed the title chore(deps): update moon to v1.34.1 chore(deps): update moon Apr 7, 2025
@renovate renovate bot force-pushed the renovate/moon branch from 7147bd9 to 04effe2 Compare April 7, 2025 18:45
@renovate renovate bot changed the title chore(deps): update moon chore(deps): update moon to v1.34.2 Apr 7, 2025
@renovate renovate bot force-pushed the renovate/moon branch from 04effe2 to 8193252 Compare April 10, 2025 21:55
@renovate renovate bot changed the title chore(deps): update moon to v1.34.2 chore(deps): update moon to v1.34.3 Apr 10, 2025
@renovate renovate bot force-pushed the renovate/moon branch from 8193252 to e117fbe Compare April 16, 2025 19:26
@renovate renovate bot changed the title chore(deps): update moon to v1.34.3 chore(deps): update moon Apr 16, 2025
@renovate renovate bot force-pushed the renovate/moon branch from e117fbe to df47734 Compare April 16, 2025 22:23
@renovate renovate bot changed the title chore(deps): update moon chore(deps): update moon to v1.35.0 Apr 16, 2025
@renovate renovate bot force-pushed the renovate/moon branch from df47734 to a5d422c Compare April 21, 2025 19:16
@renovate renovate bot changed the title chore(deps): update moon to v1.35.0 chore(deps): update moon to v1.35.1 Apr 21, 2025
@renovate renovate bot force-pushed the renovate/moon branch from a5d422c to ab1ad04 Compare April 29, 2025 06:21
@renovate renovate bot changed the title chore(deps): update moon to v1.35.1 chore(deps): update moon to v1.35.2 Apr 29, 2025
@renovate renovate bot force-pushed the renovate/moon branch from ab1ad04 to 61cbdc3 Compare April 30, 2025 06:56
@renovate renovate bot changed the title chore(deps): update moon to v1.35.2 chore(deps): update moon to v1.35.3 Apr 30, 2025
@renovate renovate bot force-pushed the renovate/moon branch from 61cbdc3 to 4979039 Compare May 1, 2025 18:26
@renovate renovate bot changed the title chore(deps): update moon to v1.35.3 chore(deps): update moon to v1.35.4 May 1, 2025
@renovate renovate bot force-pushed the renovate/moon branch from 4979039 to 3fb1204 Compare May 5, 2025 22:35
@renovate renovate bot changed the title chore(deps): update moon to v1.35.4 chore(deps): update moon to v1.35.5 May 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants