Skip to content

Add ci for macOS, windows, linux #123

Add ci for macOS, windows, linux

Add ci for macOS, windows, linux #123

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: ${{ matrix.language }} on ${{ matrix.os }}
strategy:
matrix:
language: [cpp, csharp, java]
os: [macos-latest, ubuntu-latest, windows-latest]
include:
- os: macos-beta
language: cpp
- os: macos-latest
language: swift
- os: macos-latest
language: objective-c
- os: macos-latest
language: python
- os: macos-latest
language: php
- os: macos-latest
language: ruby
- os: ubuntu-latest
language: php
- os: ubuntu-latest
language: ruby
- os: ubuntu-latest
language: python
- os: ubuntu-latest
language: js
- os: windows-latest
language: python
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-${{ matrix.language }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-build-${{ matrix.language }}
${{ 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-${{ matrix.language }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-build-${{ matrix.language }}
${{ runner.os }}-build-
- name: Build ${{ matrix.language }} on ${{ matrix.os }}
uses: ./.github/actions/build
- name: Test ${{ matrix.language }} on ${{ matrix.os }}
uses: ./.github/actions/test