Skip to content

Update README.md

Update README.md #28

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
test:
name: swift test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest]
swift: ["6.0"]
steps:
- uses: actions/checkout@v4
- name: Set up Swift (Linux)
if: runner.os != 'macOS'
uses: swift-actions/setup-swift@v2
with:
swift-version: ${{ matrix.swift }}
- name: Resolve Swift version
id: swift-version
run: |
set -euo pipefail
if [ "${RUNNER_OS}" = "macOS" ]; then
SWIFT_BIN="$(xcrun -f swift)"
else
SWIFT_BIN="swift"
fi
SWIFT_VERSION="$("${SWIFT_BIN}" --version | head -n 1 | awk '{print $4}')"
echo "version=${SWIFT_VERSION}" >> "${GITHUB_OUTPUT}"
echo "Swift version: ${SWIFT_VERSION}"
- name: Cache SwiftPM
uses: actions/cache@v4
with:
path: |
.build
~/.swiftpm
key: swiftpm-${{ runner.os }}-swift-${{ steps.swift-version.outputs.version }}-release-${{ hashFiles('Package.resolved', 'Package.swift') }}
- name: Build and test
env:
CHROMA_PERF_BASELINE_SECONDS: "10"
run: BENCHMARK_DISABLE_JEMALLOC=1 swift test -c release
benchmark:
name: swift package benchmark (macos-latest)
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Resolve Swift version
id: swift-version
run: |
set -euo pipefail
SWIFT_BIN="$(xcrun -f swift)"
SWIFT_VERSION="$("${SWIFT_BIN}" --version | head -n 1 | awk '{print $4}')"
echo "version=${SWIFT_VERSION}" >> "${GITHUB_OUTPUT}"
echo "Swift version: ${SWIFT_VERSION}"
- name: Cache SwiftPM
uses: actions/cache@v4
with:
path: |
.build
~/.swiftpm
key: swiftpm-${{ runner.os }}-swift-${{ steps.swift-version.outputs.version }}-release-${{ hashFiles('Package.resolved', 'Package.swift') }}
- name: Install jemalloc
env:
HOMEBREW_NO_AUTO_UPDATE: 1
run: brew install jemalloc
- name: Run benchmarks
run: swift package benchmark --target ChromaBenchmarks