jessewilson
08/25/2026, 9:31 PM# We run '--version' because it downloads its dependencies on the first run.
ENV KOTLIN_CLI_NO_WELCOME_BANNER="1"
ENV KOTLIN_CLI_JAVA_HOME="$JAVA_HOME"
ENV HOME="/root"
ENV PATH="/root/.local/bin:$PATH"
RUN echo "Installing Kotlin toolchain" \
&& set -o errexit -o nounset \
&& curl -fsSL <https://kotl.in/install.sh> | sh \
&& kotlin --version
Setting it up in the Dockerfile is good!
• It calls the JetBrains CDNs when I rebuild the Dockerfile (~monthly), not every build (~hourly)
• Docker caches work well, especially in my CI service (Buildkite)
Anyone else using The Kotlin Toolchain in CI?jessewilson
08/25/2026, 9:32 PMkotlin update, that applies to the wrapper script in the current directly. I can’t figure out how to configure the version of the kotlin on my $PATH.jessewilson
08/25/2026, 9:40 PMcd $HOME/.local/bin
kotlin update --target-version 0.12.0 --createjessewilson
08/25/2026, 10:03 PM# Kotlin toolchain.
# We run '--version' because it downloads its dependencies on the first run.
ENV KOTLIN_CLI_VERSION="0.12.0"
ENV KOTLIN_CLI_HOME="/root/.local/bin"
ENV KOTLIN_CLI_JAVA_HOME="$JAVA_HOME"
ENV KOTLIN_CLI_NO_WELCOME_BANNER="1"
ENV PATH="$KOTLIN_CLI_HOME:$PATH"
RUN echo "Installing Kotlin toolchain" \
&& set -o errexit -o nounset \
&& curl -fsSL <https://kotl.in/install.sh> | sh \
&& cd "$KOTLIN_CLI_HOME" \
&& kotlin update --target-version "$KOTLIN_CLI_VERSION" --create \
&& kotlin --version \
&& cd / \
github.com/wasmcomputercompany/brevity/blob/…/Dockerfile#…jessewilson
08/25/2026, 10:05 PMTanish Azad
08/25/2026, 10:20 PM<https://packages.jetbrains.team/maven/p/amper/amper/org/jetbrains/kotlin/kotlin-cli/${version}/kotlin-cli-${version}-installer.sh>
packages.jetbrains.team/maven/…/kotlin-cli
Tho it might break in futurejessewilson
08/25/2026, 11:55 PMjoffrey
08/26/2026, 11:33 AMjessewilson
08/26/2026, 11:37 AMjoffrey
08/26/2026, 12:17 PMjoffrey
08/26/2026, 12:17 PMjessewilson
08/26/2026, 12:33 PMjessewilson
08/26/2026, 12:35 PMjoffrey
08/26/2026, 1:18 PMjoffrey
08/26/2026, 1:20 PMsetup-gradle does:
github.com/JetBrains/kotlin-toolchain/blob/…/action.yml
So this is why I'm asking about caching. Because since the kotlin wrapper in your project can provision everything, I usually would rely purely on the CI's cache to streamline this.jessewilson
08/26/2026, 2:09 PMjessewilson
08/26/2026, 2:09 PMjoffrey
08/26/2026, 10:00 PM