mirror of
https://github.com/softinio/Fishee.git
synced 2025-02-22 21:46:05 -08:00
86 lines
2 KiB
YAML
86 lines
2 KiB
YAML
name: Build and Test
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
release:
|
|
types: [created]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Swift
|
|
uses: swift-actions/setup-swift@v2
|
|
with:
|
|
swift-version: '6.0'
|
|
|
|
- name: Get swift version
|
|
run: swift --version
|
|
|
|
- name: Run tests
|
|
run: swift test
|
|
|
|
build-macos:
|
|
runs-on: macos-latest
|
|
if: github.event_name == 'release'
|
|
strategy:
|
|
matrix:
|
|
arch: [x86_64, arm64]
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Swift
|
|
uses: swift-actions/setup-swift@v2
|
|
with:
|
|
swift-version: '6.0'
|
|
|
|
- name: Get swift version
|
|
run: swift --version
|
|
|
|
- name: Build for macOS
|
|
run: |
|
|
swift build -c release --arch ${{ matrix.arch }}
|
|
mkdir -p artifacts/macos-${{ matrix.arch }}
|
|
cp .build/apple/Products/Release/fishee artifacts/macos-${{ matrix.arch }}/
|
|
|
|
- name: Upload macOS artifacts
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: fishee-macos-${{ matrix.arch }}-${{ github.ref_name }}
|
|
path: artifacts/macos-${{ matrix.arch }}
|
|
|
|
build-linux:
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name == 'release'
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Swift
|
|
uses: swift-actions/setup-swift@v2
|
|
with:
|
|
swift-version: '6.0'
|
|
|
|
- name: Get swift version
|
|
run: swift --version
|
|
|
|
- name: Build for Linux
|
|
run: |
|
|
swift build -c release
|
|
mkdir -p artifacts/linux
|
|
cp .build/release/fishee artifacts/linux/
|
|
|
|
- name: Upload Linux artifacts
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: fishee-linux-${{ github.ref_name }}
|
|
path: artifacts/linux
|