tuist: Xcode Cloud + Mise doesn't work
What problem or need do you have?
Based on documentation, I’ve created a ci_post_clone.sh for my XcodeCloud:
#!/bin/sh
curl https://mise.jdx.dev/install.sh | sh
echo "👉 Version:"
~/.local/bin/mise --version
echo "eval \"\$(/Users/$(id -un)/.local/bin/mise activate zsh)\"" >> "/Users/$(id -un)/.zshrc"
~/.local/bin/mise doctor
after running ~/.local/bin/mise doctor I have the following error:
(...)
1 problem found:
mise is not activated, run mise help activate or
read documentation at https://mise.jdx.dev for activation instructions.
Alternatively, add the shims directory /Users/local/.local/share/mise/shims to PATH.
Using the shims directory is preferred for non-interactive setups.
due to that I’m not able to run ~/.local/bin/mise install tuist@3.20.0
I’ve checked the documentation in here: https://mise.jdx.dev/getting-started.html and the ways of mise activation, using methods:
echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrcecho 'export PATH="$HOME/.local/share/mise/shims:$PATH"' >> ~/.zprofile
and none of them fixed the issue.
I know that it might be more related to Mise but maybe
it would be able for you to update the documentation regarding mise installation or help somehow?
Potential solution
No response
macOS version
14.3 Sonoma
Tuist version
3.20.0
Xcode version
15.2
About this issue
- Original URL
- State: closed
- Created 5 months ago
- Comments: 15 (4 by maintainers)
Commits related to this issue
- update script as per https://github.com/tuist/tuist/issues/5863 — committed to kelvinharron/TuistXcodeCloud by kelvinharron 5 months ago
I have spent the last few days and dozens of commits trying to get mise and Tuist 3.42 working on Xcode Cloud, let me help you out here!
Our
ci_post_clone.shlooks like this:The reason we check for CI is that we document this script as what a developer should run on onboarding.
Our
.mise.tomllooks like this:The challenge I had was making it work with a .pre target script as part of testing where I wanted to generate mocks. I found that mise was installed and invoking correctly at the post clone step, but it was being removed from the PATH when I wanted to use it before building the test target, this is why I settled on
~/.local/bin/miseinstead ofmise.I think it errors because this line is wrong:
It should be:
Do you mind trying that one? (I put up a PR) to address it