Skip to content
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

Add ninja #8348

Closed
9 of 11 tasks
mstorsjo opened this issue Sep 20, 2023 · 3 comments
Closed
9 of 11 tasks

Add ninja #8348

mstorsjo opened this issue Sep 20, 2023 · 3 comments

Comments

@mstorsjo
Copy link

Tool name

ninja

Tool license

Apache 2.0

Add or update?

  • Add
  • Update

Desired version

latest

Approximate size

200-500 KB

Brief description of tool

Ninja is a build tool, commonly used as the build tool for CMake.

This tool has been implicitly included in the windows-2022 images for a long time, installed as a transitive dependency, but after a recent update it no longer is included. (It hasn't been included on Ubuntu or macOS images though.)

I believe it would be useful to have it formally included among the tools that intentionally are installed. On Windows, including it wouldn't in the end carry more software than the image used to before anyway, as it already used to be included transitively.

While it can be installed manually, doing so is an extra unnecessary step when CMake already is available out of the box in the images, and CMake frequently is used together with Ninja.

URL for tool's homepage

https://github.com/ninja-build/ninja

Provide a basic test case to validate the tool's functionality.

No response

Platforms where you need the tool

  • Azure DevOps
  • GitHub Actions

Runner images where you need the tool

  • Ubuntu 20.04
  • Ubuntu 22.04
  • macOS 11
  • macOS 12
  • macOS 13
  • Windows Server 2019
  • Windows Server 2022

Can this tool be installed during the build?

No response

Tool installation time in runtime

No response

Are you willing to submit a PR?

No response

@erik-bershel
Copy link
Contributor

Hello! We understand your concerns, but our opinion on the issue has not yet changed since #4972. The instrument is extremely easy to install in runtime. I'm going to close this issue but feel free to open new in case of other concerns.

@mstorsjo
Copy link
Author

Further commentery on this matter: While the tool is easy to install at runtime, with the suggested command choco install ninja, this isn't very reliable - I'm occasionally seeing workflows failing due to choclolatey failing to download and install ninja, e.g. here: https://github.com/mstorsjo/llvm-mingw/actions/runs/10913561138/job/30299966492

Chocolatey v2.3.0
Installing the following packages:
ninja
By installing, you accept licenses for the packages.
Downloading package from source 'https://community.chocolatey.org/api/v2/'
[NuGet] Error downloading 'ninja.1.12.1' from 'https://community.chocolatey.org/api/v2/package/ninja/1.12.1'.
[NuGet] Response status code does not indicate success: 504 (Gateway Time-out).
[NuGet] Error downloading 'ninja.1.12.1' from 'https://community.chocolatey.org/api/v2/package/ninja/1.12.1'.
[NuGet] Response status code does not indicate success: 503 (Service Unavailable: Back-end server is at capacity).
ninja not installed. An error occurred during installation:
 Error downloading 'ninja.1.12.1' from 'https://community.chocolatey.org/api/v2/package/ninja/1.12.1'.
ninja package files install failed with exit code 1. Performing other installation steps.
The install of ninja was NOT successful.
ninja not installed. An error occurred during installation:
 Error downloading 'ninja.1.12.1' from 'https://community.chocolatey.org/api/v2/package/ninja/1.12.1'.

Chocolatey installed 0/1 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Failures
 - ninja (exited 1) - ninja not installed. An error occurred during installation:
 Error downloading 'ninja.1.12.1' from 'https://community.chocolatey.org/api/v2/package/ninja/1.12.1'.

@marc-hb
Copy link

marc-hb commented Dec 22, 2024

thanks for your suggestion but considering that it' easy to add Ninja to workflows on demand,...

I just asked runtime installation to be officially documented, please upvote:

Ever growing list of duplicates gathered at:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants