Skip to content

Update asdf-vm/actions action to v3 #14

Update asdf-vm/actions action to v3

Update asdf-vm/actions action to v3 #14

Workflow file for this run

name: Path
on:
push:
branches:
- '**'
tags-ignore:
- '**'
paths:
- '**/*.swift'
- '.github/workflows/*.yml'
pull_request:
paths:
- '**/*.swift'
- '.github/workflows/*.yml'
concurrency:
group: path-${{ github.head_ref }}
cancel-in-progress: true
jobs:
spm_build:
name: SPM Build
defaults:
run:
working-directory: '.'
strategy:
matrix:
os:
- ubuntu-22.04
- macOS-13
- windows-2022
swift-version:
- '5.9'
swift-compat-ver:
- '5'
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Use a cache for ".build" directory.
uses: actions/cache@v3
with:
path: .build
key: build-${{ github.workspace }}-${{ runner.os }}-${{ matrix.swift-version }}-${{ matrix.swift-compat-ver }}-${{ hashFiles('**/*.swift') }}
restore-keys: |
build-${{ github.workspace }}-${{ runner.os }}-${{ matrix.swift-version }}-${{ matrix.swift-compat-ver }}-
build-${{ github.workspace }}-${{ runner.os }}-${{ matrix.swift-version }}-
build-${{ github.workspace }}-${{ runner.os }}-
build-${{ github.workspace }}-
- uses: SwiftyLab/setup-swift@latest
with:
swift-version: ${{ matrix.swift-version }}
# DEBUG mode
- name: Build with debug mode.
id: debug_build
run: swift build --configuration debug -Xswiftc -swift-version -Xswiftc ${{ matrix.swift-compat-ver }}
continue-on-error: true
- name: Retry build with debug mode if necessary
if: steps.debug_build.outcome == 'failure'
run: |
rm -rf $(cd .build/debug && pwd -P)
swift build --configuration debug -Xswiftc -swift-version -Xswiftc ${{ matrix.swift-compat-ver }}
# RELEASE mode
- name: Build with release mode.
id: release_build
run: swift build --configuration release -Xswiftc -enable-testing -Xswiftc -swift-version -Xswiftc ${{ matrix.swift-compat-ver }}
continue-on-error: true
- name: Retry build with release mode if necessary
if: steps.release_build.outcome == 'failure'
run: |
rm -rf $(cd .build/release && pwd -P)
swift build --configuration release -Xswiftc -swift-version -Xswiftc ${{ matrix.swift-compat-ver }}
tuist_build:
name: Tuist Build
defaults:
run:
working-directory: '.'
strategy:
matrix:
os:
- macOS-13
swift-version:
- '5.9'
swift-compat-ver:
- '5'
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: SwiftyLab/setup-swift@latest
with:
swift-version: ${{ matrix.swift-version }}
- name: Install asdf & tools
uses: asdf-vm/actions/install@v3
- name: Build
run: tuist build
lint:
name: Lint
defaults:
run:
working-directory: '.'
strategy:
matrix:
os:
- ubuntu-22.04
swift-version:
- '5.9'
swift-compat-ver:
- '5'
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: SwiftyLab/setup-swift@latest
with:
swift-version: ${{ matrix.swift-version }}
- name: Install asdf & tools
uses: asdf-vm/actions/install@v3
- name: Lint
run: workspace/lint