Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
code

GitHub Action

Setup Kotlin

0.0.7

Setup Kotlin

code

Setup Kotlin

Install the Kotlin compiler

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Setup Kotlin

uses: fwilhe2/setup-kotlin@0.0.7

Learn more about this action in fwilhe2/setup-kotlin

Choose a version

Setup the Kotlin™ cli compiler in GitHub Actions

build-test license latest-version

This action downloads the Kotlin™ compiler and installs it to the path. It won't touch the installed JREs.

By default, the latest released version of Kotlin is installed. This can be overriden via the version flag.

It allows you to use the kotlinc and the kotlin tool to compile source code and run scripts.

Note: You probably don't need this action if you want to build a Kotlin project using Maven/Gradle as they will download the compiler for you. This action is useful if you need or want to use the kotlin/kotlinc/kotlinc-native cli tools.

See this repo for usage examples.

Usage example

name: CI
on:
  push:
  workflow_dispatch:
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: fwilhe2/setup-kotlin@main
      - run: kotlinc myProgram.kt -include-runtime -d /tmp/hello.jar; java -jar /tmp/hello.jar
      - run: kotlin myScript.main.kts

Kotlin/Native

You can also build os-native binaries using kotlinc-native as in this example:

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ ubuntu-20.04, windows-latest, macos-latest ]
    steps:
      - uses: actions/checkout@v2
      - uses: fwilhe2/setup-kotlin@main
      - run: kotlinc-native foo.kt
      - run: ./program.exe
        if: ${{ matrix.os == 'windows-latest' }}
      - run: ./program.kexe
        if: ${{ matrix.os != 'windows-latest' }}

Running a script inline

If you provide a string-argument script, the action will execute it via kotlin-main-kts script definition jar, see this example:

    - uses: fwilhe2/setup-kotlin@main
      with:
        script: |
            #!/usr/bin/env kotlin
            //more kotlin script code here

Disclaimer

This software is not affiliated with or endorsed by the owner of the Kotlin trademark. The name is used to describe what this software does.

License

This software is released under the MIT License (MIT), see LICENSE for details.