Skip to content

Improve markdown output #1487

Improve markdown output

Improve markdown output #1487

Workflow file for this run

name: Test
on:
push:
branches:
- master
pull_request: {}
env:
MISE_EXPERIMENTAL: 1
swift_package_resolve: swift package resolve
swift_build: swift build
swift_test: swift test
periphery_scan: ./.build/debug/periphery scan --quiet --clean-build --strict
cache_version: 1
jobs:
lint:
runs-on: macos-15
name: Lint
steps:
- uses: actions/checkout@master
- uses: jdx/mise-action@v2
- run: mise run lint-ci
bazel:
runs-on: macos-15
name: Bazel
steps:
- uses: actions/checkout@master
- uses: jdx/mise-action@v2
- uses: bazel-contrib/setup-bazel@0.14.0
with:
bazelisk-cache: true
disk-cache: ${{ github.workflow }}
repository-cache: true
- name: Check generated rules
run: mise r gen-bazel-rules && git diff --quiet --exit-code
- name: Scan
run: bazel run //:periphery -- scan --bazel --quiet --strict --baseline baselines/bazel.json
macOS:
name: macOS
strategy:
fail-fast: false
matrix:
step: ["main-snapshot", "16.3", "16.2", "16.1"]
include:
- step: "main-snapshot"
xcode: "16.3"
swiftly: "main-snapshot"
continueOnError: true
- step: "16.3"
xcode: "16.3"
baseline: "macos-swift-6.1.json"
- step: "16.2"
xcode: "16.2"
- step: "16.1"
xcode: "16.1"
runs-on: macos-15
continue-on-error: ${{ matrix.continueOnError == true }}
steps:
- uses: actions/checkout@master
- name: Select Xcode version
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
- name: Install Swiftly
if: ${{ matrix.swiftly }}
run: |
curl -O https://download.swift.org/swiftly/darwin/swiftly.pkg
installer -pkg swiftly.pkg -target CurrentUserHomeDirectory
~/.swiftly/bin/swiftly init --skip-install
. ~/.swiftly/env.sh
hash -r
echo "PATH=$PATH" >> "$GITHUB_ENV"
echo "SWIFTLY_HOME_DIR=$SWIFTLY_HOME_DIR" >> "$GITHUB_ENV"
echo "SWIFTLY_BIN_DIR=$SWIFTLY_BIN_DIR" >> "$GITHUB_ENV"
- name: Install Swift (Swiftly)
if: ${{ matrix.swiftly }}
run: swiftly install ${{ matrix.swiftly }} --use
- name: Get Swift Version
id: get-swift-version
run: |
swift_version=$(swift -version | head -n 1 | sed s/,//)
echo "$swift_version"
echo "SWIFT_VERSION=${swift_version}" >> "$GITHUB_ENV"
shell: bash
- name: Cache resolved dependencies
id: cache-resolved-dependencies
uses: actions/cache@v4
with:
path: |
.build
Package.resolved
key: ${{ runner.os }}-${{ matrix.xcode }}-${{ env.SWIFT_VERSION }}-${{ env.cache_version }}-spm-deps-${{ hashFiles('Package.swift', 'Package.resolved') }}
restore-keys: |
${{ runner.os }}-${{ matrix.xcode }}-${{ env.SWIFT_VERSION }}-${{ env.cache_version }}-spm-deps-
- name: Resolve dependencies
if: steps.cache-resolved-dependencies.outputs.cache-hit != 'true'
run: ${{ env.swift_package_resolve }}
- name: Build
run: ${{ env.swift_build }}
- name: Scan
run: ${{ env.periphery_scan }} ${{ matrix.baseline && format('--baseline baselines/{0}', matrix.baseline) || '' }}
- name: Test
run: ${{ env.swift_test }}
linux:
name: Linux
strategy:
fail-fast: false
matrix:
swift: ["nightly-main", "6.1", "6.0"]
include:
- swift: "nightly-main"
container: "swiftlang/swift:nightly-main"
continueOnError: true
- swift: "6.1"
container: "swift:6.1"
- swift: "6.0"
container: "swift:6.0"
runs-on: ubuntu-latest
container: ${{ matrix.container }}
continue-on-error: ${{ matrix.continueOnError == true }}
steps:
- uses: actions/checkout@master
- name: Get Swift Version
id: get-swift-version
run: |
swift_version=$(swift -version | head -n 1 | sed s/,//)
echo "$swift_version"
echo "SWIFT_VERSION=${swift_version}" >> "$GITHUB_ENV"
shell: bash
- name: Cache resolved dependencies
id: cache-resolved-dependencies
uses: actions/cache@v4
with:
path: |
.build
Package.resolved
key: ${{ runner.os }}-${{ env.SWIFT_VERSION }}-${{ env.cache_version }}-spm-deps-${{ hashFiles('Package.swift', 'Package.resolved') }}
restore-keys: |
${{ runner.os }}-${{ env.SWIFT_VERSION }}-${{ env.cache_version }}-spm-deps-
- name: Resolve dependencies
if: steps.cache-resolved-dependencies.outputs.cache-hit != 'true'
run: ${{ env.swift_package_resolve }}
- name: Build
run: ${{ env.swift_build }}
- name: Scan
run: ${{ env.periphery_scan }} --baseline baselines/linux.json
- name: Test
run: ${{ env.swift_test }}