Skip to content

GitHub Action to install a version of Swift ๐ŸŽ

Notifications You must be signed in to change notification settings

slashmo/install-swift

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

14 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

install-swift

This action allows installing Swift toolchains, with support for both release and development versions.

Usage

Inputs

  • version - The Swift version you want to install. This may either be a release version like 5.5, a trunk development snapshot like swift-DEVELOPMENT-SNAPSHOT-2021-11-12-a, or a snapshot of the upcoming release, e.g. swift-5.6-DEVELOPMENT-SNAPSHOT-2022-01-09-a.

Example

- name: Install Swift
  uses: slashmo/[email protected]
  with:
    version: 5.5

After adding this step, all following steps in this job will automatically use the newly installed Swift version:

- name: Run Tests
  run: swift test # <-- uses Swift 5.5

Multiple Swift Versions

In case you want to run your GitHub Actions workflow using different versions of Swift, define a GitHub Action's matrix to spawn multiple instances of the same job:

jobs:
  test:
    name: Run Tests
    strategy:
      matrix:
        swift: [5.5, swift-DEVELOPMENT-SNAPSHOT-2021-11-12-a, swift-5.6-DEVELOPMENT-SNAPSHOT-2022-01-09-a]
        os: [ubuntu-18.04, ubuntu-20.04, macos-latest]
        fail-fast: false
    runs-on: ${{ matrix.os }}
    steps:
    - name: Install Swift
      uses: slashmo/[email protected]
      with:
        version: ${{ matrix.swift }}
    - name: Checkout
      uses: actions/checkout@v2
    - name: Run Tests
      run: swift test

The action will automatically detect the Ubuntu version and install the correct toolchain.

Caching

install-swift automatically caches toolchains based on the version input and the detected Ubuntu version.