mirror of
https://github.com/pion/mediadevices.git
synced 2025-09-26 20:41:46 +08:00
86 lines
2.1 KiB
YAML
86 lines
2.1 KiB
YAML
name: CI
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
build-linux:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
go:
|
|
- '1.21' # oldest version this package supports
|
|
- '1.22' # oldstable Go version
|
|
- '1.23' # stable Go version
|
|
name: Linux Go ${{ matrix.go }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v6
|
|
with:
|
|
go-version: ${{ matrix.go }}
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get update -qq \
|
|
&& sudo apt-get install --no-install-recommends -y \
|
|
libopus-dev \
|
|
libva-dev \
|
|
libvpx-dev \
|
|
libx11-dev \
|
|
libx264-dev \
|
|
libxext-dev
|
|
- name: Run Test Suite
|
|
run: make test
|
|
- uses: codecov/codecov-action@v5
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
build-darwin:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
go:
|
|
- '1.22'
|
|
- '1.23'
|
|
runs-on: macos-latest
|
|
name: Darwin Go ${{ matrix.go }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v6
|
|
with:
|
|
go-version: ${{ matrix.go }}
|
|
- name: Install dependencies
|
|
run: |
|
|
which brew
|
|
brew install \
|
|
pkg-config \
|
|
opus \
|
|
libvpx \
|
|
x264
|
|
- name: Run Test Suite
|
|
run: make test
|
|
- uses: codecov/codecov-action@v5
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
check-licenses:
|
|
runs-on: ubuntu-latest
|
|
name: Check Licenses
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v6
|
|
with:
|
|
go-version: stable
|
|
- name: Installing go-licenses
|
|
run: go install github.com/google/go-licenses@latest
|
|
- name: Checking licenses
|
|
run: go-licenses check ./...
|