Adopt the new AsyncQueue
, remove dependency on all three Fluent drivers, other cleanup
#27
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
pull_request: { types: [opened, reopened, synchronize, ready_for_review] } | |
push: { branches: [ main ] } | |
jobs: | |
api-breakage: | |
if: ${{ github.event_name == 'pull_request' && !github.event.pull_request.draft }} | |
runs-on: ubuntu-latest | |
container: swift:noble | |
timeout-minutes: 30 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
with: { 'fetch-depth': 0 } | |
- name: Run API breakage check | |
run: | | |
git config --global --add safe.directory "${GITHUB_WORKSPACE}" | |
swift package diagnose-api-breaking-changes origin/main | |
linux-unit: | |
if: ${{ !(github.event.pull_request.draft || false) }} | |
strategy: | |
fail-fast: false | |
matrix: | |
swift-image: | |
- swift:5.8-jammy | |
- swift:5.9-jammy | |
- swift:5.10-noble | |
- swiftlang/swift:nightly-6.0-jammy | |
- swiftlang/swift:nightly-main-jammy | |
runs-on: ubuntu-latest | |
container: ${{ matrix.swift-image }} | |
services: | |
psql: { image: 'postgres:16', env: { POSTGRES_USER: test_username, POSTGRES_PASSWORD: test_password, POSTGRES_DB: test_database, POSTGRES_HOST_AUTH_METHOD: scram-sha-256, POSTGRES_INITDB_ARGS: --auth-host=scram-sha-256 } } | |
mysql: { image: 'mysql:8', env: { MYSQL_ALLOW_EMPTY_PASSWORD: true, MYSQL_USER: test_username, MYSQL_PASSWORD: test_password, MYSQL_DATABASE: test_database } } | |
timeout-minutes: 60 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Run unit tests | |
env: | |
POSTGRES_HOST: psql | |
MYSQL_HOST: mysql | |
run: SWIFT_DETERMINISTIC_HASHING=1 swift test --sanitize=thread --enable-code-coverage | |
- name: Upload coverage data | |
uses: vapor/swift-codecov-action@v0.3 | |
with: | |
codecov_token: ${{ secrets.CODECOV_TOKEN || '' }} | |
macos-unit: | |
if: ${{ !(github.event.pull_request.draft || false) }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- macos-version: macos-13 | |
xcode-version: '~15.2' | |
- macos-version: macos-14 | |
xcode-version: latest-stable | |
runs-on: ${{ matrix.macos-version }} | |
timeout-minutes: 60 | |
steps: | |
- name: Select appropriate Xcode version | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: ${{ matrix.xcode-version }} | |
- name: Install and setup Postgres and MySQL | |
run: | | |
export PATH="$(brew --prefix)/opt/postgresql@16/bin:$PATH" PGDATA=/tmp/vapor-postgres-test | |
(brew upgrade python@3.11 || true) && (brew link --force --overwrite python@3.11 || true) | |
(brew upgrade python@3.12 || true) && (brew link --force --overwrite python@3.12 || true) | |
(brew upgrade || true) | |
brew install --overwrite postgresql@16 && brew link --overwrite --force postgresql@16 | |
initdb --locale=C --auth-host scram-sha-256 -U test_username --pwfile=<(echo test_password) | |
pg_ctl start --wait | |
PGPASSWORD=test_password createdb -w -O test_username test_database | |
PGPASSWORD=test_password psql -w test_database <<<"ALTER SCHEMA public OWNER TO test_username;" | |
brew install mysql && brew link --force mysql && brew services start mysql | |
until echo | mysql -uroot; do sleep 1; done | |
mysql -uroot --batch <<-'SQL' | |
CREATE USER test_username@localhost IDENTIFIED BY 'test_password'; | |
CREATE DATABASE test_database; | |
GRANT ALL PRIVILEGES ON test_database.* TO test_username@localhost; | |
SQL | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Run unit tests | |
run: SWIFT_DETERMINISTIC_HASHING=1 swift test --sanitize=thread --eanble-code-coverage | |
- name: Upload coverage data | |
uses: vapor/swift-codecov-action@v0.3 | |
with: | |
codecov_token: ${{ secrets.CODECOV_TOKEN || '' }} |