Skip to content

Fix Windows CI #156

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 9 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
227 changes: 114 additions & 113 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- main
- windows-ci-fix
pull_request:
branches:
- '*'
Expand All @@ -14,131 +15,131 @@ concurrency:
cancel-in-progress: true

jobs:
macos-15:
strategy:
matrix:
config:
- debug
- release
xcode:
- '16.2'
name: macOS 15
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
- name: Run tests
run: make test-${{ matrix.config }}

macos-14:
strategy:
matrix:
config:
- debug
- release
xcode:
- 15.2
- 15.4
name: macOS 14
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
- name: Run tests
run: make test-${{ matrix.config }}

library-evolution:
name: Library evolution
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_16.2.app
- name: Run tests
run: make build-for-library-evolution

examples:
strategy:
matrix:
config:
- Debug
- Release
xcode:
- '16.2'
name: Examples
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
- name: Run tests
run: make CONFIG=${{ matrix.config }} test-examples
# macos-15:
# strategy:
# matrix:
# config:
# - debug
# - release
# xcode:
# - '16.2'
# name: macOS 15
# runs-on: macos-15
# steps:
# - uses: actions/checkout@v4
# - name: Select Xcode
# run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
# - name: Run tests
# run: make test-${{ matrix.config }}

linux:
strategy:
matrix:
config:
- debug
- release
name: Linux
runs-on: ubuntu-latest
container: swift:6.0.3
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: apt-get update && apt-get install -y build-essential libcurl4-openssl-dev
- name: Run tests
run: make test-${{ matrix.config }}
- name: Build for static-stdlib
run: make CONFIG=${{ matrix.config }} build-for-static-stdlib
# macos-14:
# strategy:
# matrix:
# config:
# - debug
# - release
# xcode:
# - 15.2
# - 15.4
# name: macOS 14
# runs-on: macos-14
# steps:
# - uses: actions/checkout@v4
# - name: Select Xcode
# run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
# - name: Run tests
# run: make test-${{ matrix.config }}

wasm:
name: Wasm
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: bytecodealliance/actions/wasmtime/setup@v1
- name: Install Swift and Swift SDK for WebAssembly
run: |
PREFIX=/opt/swift
set -ex
curl -f -o /tmp/swift.tar.gz "https://download.swift.org/swift-6.0.2-release/ubuntu2204/swift-6.0.2-RELEASE/swift-6.0.2-RELEASE-ubuntu22.04.tar.gz"
sudo mkdir -p $PREFIX; sudo tar -xzf /tmp/swift.tar.gz -C $PREFIX --strip-component 1
$PREFIX/usr/bin/swift sdk install https://github.com/swiftwasm/swift/releases/download/swift-wasm-6.0.2-RELEASE/swift-wasm-6.0.2-RELEASE-wasm32-unknown-wasi.artifactbundle.zip --checksum 6ffedb055cb9956395d9f435d03d53ebe9f6a8d45106b979d1b7f53358e1dcb4
echo "$PREFIX/usr/bin" >> $GITHUB_PATH
# library-evolution:
# name: Library evolution
# runs-on: macos-15
# steps:
# - uses: actions/checkout@v4
# - name: Select Xcode
# run: sudo xcode-select -s /Applications/Xcode_16.2.app
# - name: Run tests
# run: make build-for-library-evolution

- name: Build
run: swift build --target IssueReporting --swift-sdk wasm32-unknown-wasi -Xlinker -z -Xlinker stack-size=$((1024 * 1024))
# examples:
# strategy:
# matrix:
# config:
# - Debug
# - Release
# xcode:
# - '16.2'
# name: Examples
# runs-on: macos-15
# steps:
# - uses: actions/checkout@v4
# - name: Select Xcode
# run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
# - name: Run tests
# run: make CONFIG=${{ matrix.config }} test-examples

# windows:
# name: Windows
# linux:
# strategy:
# matrix:
# os: [windows-latest]
# config:
# - debug
# - release
# fail-fast: false
# runs-on: ${{ matrix.os }}
# name: Linux
# runs-on: ubuntu-latest
# container: swift:6.0.3
# steps:
# - uses: actions/checkout@v4
# - name: Install dependencies
# run: apt-get update && apt-get install -y build-essential libcurl4-openssl-dev
# - name: Run tests
# run: make test-${{ matrix.config }}
# - name: Build for static-stdlib
# run: make CONFIG=${{ matrix.config }} build-for-static-stdlib

# wasm:
# name: Wasm
# runs-on: ubuntu-latest
# steps:
# - uses: compnerd/gha-setup-swift@main
# with:
# branch: swift-6.0.3-release
# tag: 6.0.3-RELEASE
# - name: Set long paths
# run: git config --system core.longpaths true
# - uses: actions/checkout@v4
# - uses: bytecodealliance/actions/wasmtime/setup@v1
# - name: Install Swift and Swift SDK for WebAssembly
# run: |
# PREFIX=/opt/swift
# set -ex
# curl -f -o /tmp/swift.tar.gz "https://download.swift.org/swift-6.0.2-release/ubuntu2204/swift-6.0.2-RELEASE/swift-6.0.2-RELEASE-ubuntu22.04.tar.gz"
# sudo mkdir -p $PREFIX; sudo tar -xzf /tmp/swift.tar.gz -C $PREFIX --strip-component 1
# $PREFIX/usr/bin/swift sdk install https://github.com/swiftwasm/swift/releases/download/swift-wasm-6.0.2-RELEASE/swift-wasm-6.0.2-RELEASE-wasm32-unknown-wasi.artifactbundle.zip --checksum 6ffedb055cb9956395d9f435d03d53ebe9f6a8d45106b979d1b7f53358e1dcb4
# echo "$PREFIX/usr/bin" >> $GITHUB_PATH

# - name: Build
# run: swift build -c ${{ matrix.config }}
# - name: Run tests (debug only)
# run: swift test
# run: swift build --target IssueReporting --swift-sdk wasm32-unknown-wasi -Xlinker -z -Xlinker stack-size=$((1024 * 1024))

android:
name: Android
runs-on: ubuntu-latest
windows:
name: Windows
strategy:
matrix:
os: [windows-latest]
config:
- debug
- release
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- uses: compnerd/gha-setup-swift@main
with:
branch: swift-6.0.3-release
tag: 6.0.3-RELEASE
- name: Set long paths
run: git config --system core.longpaths true
- uses: actions/checkout@v4
- name: "Test Swift Package on Android"
uses: skiptools/swift-android-action@v2
- name: Build
run: swift build -c ${{ matrix.config }} -Xswiftc -windows-sdk-version -Xswiftc 10.0.22621.1778
- name: Run tests (debug only)
run: swift test -Xswiftc -windows-sdk-version -Xswiftc 10.0.22621.1778

# android:
# name: Android
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - name: "Test Swift Package on Android"
# uses: skiptools/swift-android-action@v2
Loading