Skip to content

Test exit codes of all supported build commands #33

Test exit codes of all supported build commands

Test exit codes of all supported build commands #33

Workflow file for this run

name: Tests
on:
push:
branches:
- main
pull_request:
env:
XCODE_VERSION: '15.0'
defaults:
run:
working-directory: ./SwiftLintPluginsTest
jobs:
plugin:
name: Test Plugins
runs-on: macos-13
steps:
- name: Select Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{ env.XCODE_VERSION }}
- name: Checkout SwiftLintPlugins
uses: actions/checkout@v4
with:
path: SwiftLintPlugins
- name: Create project directory
run: mkdir SwiftLintPluginsTest
working-directory: .
- name: Configure project
run: |
swift package init --type executable
cp ../SwiftLintPlugins/.github/workflows/Package.swift .
echo "let myVar = 0 as! Int" > Sources/main.swift
echo "included: [Sources]" > .swiftlint.yml
- name: Build project and check findings
run: swift build 2>&1 | grep -q "Force Cast Violation"
- name: Let build fail
id: failed_build
run: swift build
continue-on-error: true
- name: Check that build failed
if: ${{ steps.failed_build.outcome != 'failure' }}
run: exit 1
- name: Verify command plugin
run: |
swift package swiftlint --version
swift package swiftlint --help
swift package swiftlint 2>&1 | grep -q "Force Cast Violation"
- name: Let command fail
id: failed_command
run: swift package swiftlint
continue-on-error: true
- name: Check that command failed
if: ${{ steps.failed_command.outcome != 'failure' }}
run: exit 1
- name: Verify Xcode plugin
run: |
xcodebuild -list
xcodebuild -scheme Main -destination 'platform=macOS' build 2>&1
- name: Let Xcode build fail
id: failed_xcode_build
run: xcodebuild -scheme Main -destination 'platform=macOS' build
continue-on-error: true
- name: Check that Xcode build failed
if: ${{ steps.failed_xcode_build.outcome != 'failure' }}
run: exit 1
- name: Change to warning
run: |
echo "force_cast: warning" > .swiftlint.yml
- name: Check that all commands pass
run: |
swift build
swift package swiftlint
xcodebuild -scheme Main -destination 'platform=macOS' build