Skip to content

Add ci for macOS, windows, linux #118

Add ci for macOS, windows, linux

Add ci for macOS, windows, linux #118

Workflow file for this run

name: ci
on:
workflow_dispatch:
push:
branches: ["3.7", "main", "macos-windows-ci"]
pull_request:
# The branches below must be a subset of the branches above
branches: ["3.7", "main"]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
ci:
name: ${{ join(matrix.languages, ',') }} / ${{ matrix.os }}
strategy:
matrix:
languages: [[cpp], [csharp], [java]]
os: [macos-latest, ubuntu-latest, windows-latest]
include:
- os: macos-latest
languages: [swift, objective-c]
- os: macos-latest
languages: [php, ruby, python, js]
- os: ubuntu-latest
languages: [php, ruby, python, js]
- os: windows-latest
languages: [python, js]
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup Dependencies
uses: ./.github/actions/setup-dependencies
- name: Setup ccache
uses: hendrikmuhs/[email protected]
with:
# create-symlink: true
key: ${{ runner.os }}-build-${{ join(matrix.languages, '-') }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-build-${{ join(matrix.languages, '-') }}
${{ runner.os }}-build-
if: startsWith(matrix.os, 'ubuntu') || startsWith(matrix.os, 'macos')
- name: Window Cache
if: startsWith(matrix.os, 'windows')
uses: actions/cache@v3
with:
path: |
**/msbuild/**/x64
key: ${{ runner.os }}-build-${{ join(matrix.languages, '-') }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-build-${{ join(matrix.languages, '-') }}
${{ runner.os }}-build-
- name: Build ${{ join(matrix.languages, ',') }} on ${{ matrix.os }}
uses: ./.github/actions/build
- name: Test ${{ join(matrix.languages, ',') }} on ${{ matrix.os }}
uses: ./.github/actions/test