/setup-swift

GitHub Action that setup a Swift environment

Primary LanguageJavaScriptMIT LicenseMIT

Setup Swift

Swift GitHub Action Supports macOS and Ubuntu

GitHub Action that will setup a Swift environment with a specific version. Works on both Ubuntu and macOS runners.

Usage

To run the action with the latest swift version available, simply add the action as a step in your workflow:

- uses: fwal/setup-swift@master

After the environment is configured you can run swift commands using the standard run step:

- uses: fwal/setup-swift@master
- name: Get swift version
  run: swift --version # Swift 5.1.1

A specific Swift version can be set using the swift-version input:

- uses: fwal/setup-swift@master
  with:
    swift-version: "5.1.0"
- name: Get swift version
  run: swift --version # Swift 5.1.0

Works perfect together with matrixes:

name: Swift ${{ matrix.swift }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
  matrix:
    os: [ubuntu-latest, macos-latest]
    swift: ["5.1.0", "4.2.4"]
steps:
- uses: fwal/setup-swift@master
  with:
    swift-version: ${{ matrix.swift }}
- name: Get swift version
  run: swift --version

Note about versions

This project uses strict semantic versioning to determine what version of Swift to configure. This differs slightly from the official convention used by Swift.

For example, Swift is available as version 5.1 but this will be interpreted as a version range of 5.1.X where X is the latest patch version available for that major and minor version.

In other words specifying...

  • "5.1.0" will resolve to version 5.1
  • "5.1" will resolve to latest patch version (aka 5.1.1)
  • "5" will resolve to latest minor and patch version (aka 5.1.1)

Legal

Uses MIT license. The Swift logo is a trademark of Apple Inc.