140 lines
3.4 KiB
YAML
140 lines
3.4 KiB
YAML
|
name: Test
|
||
|
on:
|
||
|
push:
|
||
|
branches:
|
||
|
- master
|
||
|
pull_request:
|
||
|
branches:
|
||
|
- master
|
||
|
jobs:
|
||
|
test:
|
||
|
runs-on: ubuntu-latest
|
||
|
strategy:
|
||
|
matrix:
|
||
|
go: ["1.15", "1.16"]
|
||
|
fail-fast: false
|
||
|
name: Go ${{ matrix.go }}
|
||
|
steps:
|
||
|
- uses: actions/checkout@v2
|
||
|
|
||
|
- uses: actions/cache@v2
|
||
|
with:
|
||
|
path: |
|
||
|
~/go/pkg/mod
|
||
|
~/go/bin
|
||
|
~/.cache
|
||
|
key: ${{ runner.os }}-amd64-go-${{ hashFiles('**/go.sum') }}
|
||
|
restore-keys: |
|
||
|
${{ runner.os }}-amd64-go-
|
||
|
|
||
|
- name: Setup Go
|
||
|
uses: actions/setup-go@v2
|
||
|
with:
|
||
|
go-version: ${{ matrix.go }}
|
||
|
|
||
|
- name: Setup go-acc
|
||
|
run: |
|
||
|
go get github.com/ory/go-acc
|
||
|
git checkout go.mod go.sum
|
||
|
|
||
|
- name: Run test
|
||
|
run: |
|
||
|
go-acc -o cover.out ./... -- \
|
||
|
-bench=. \
|
||
|
-v -race
|
||
|
|
||
|
- uses: codecov/codecov-action@v1
|
||
|
with:
|
||
|
file: ./cover.out
|
||
|
name: codecov-umbrella
|
||
|
fail_ci_if_error: true
|
||
|
flags: go
|
||
|
|
||
|
test-i386:
|
||
|
runs-on: ubuntu-latest
|
||
|
strategy:
|
||
|
matrix:
|
||
|
go: ["1.15", "1.16"]
|
||
|
fail-fast: false
|
||
|
name: Go i386 ${{ matrix.go }}
|
||
|
steps:
|
||
|
- uses: actions/checkout@v2
|
||
|
|
||
|
- uses: actions/cache@v2
|
||
|
with:
|
||
|
path: |
|
||
|
~/go/pkg/mod
|
||
|
~/.cache
|
||
|
key: ${{ runner.os }}-i386-go-${{ hashFiles('**/go.sum') }}
|
||
|
restore-keys: |
|
||
|
${{ runner.os }}-i386-go-
|
||
|
|
||
|
- name: Run test
|
||
|
run: |
|
||
|
mkdir -p $HOME/go/pkg/mod $HOME/.cache
|
||
|
docker run \
|
||
|
-u $(id -u):$(id -g) \
|
||
|
-e "GO111MODULE=on" \
|
||
|
-e "CGO_ENABLED=0" \
|
||
|
-v $GITHUB_WORKSPACE:/go/src/github.com/pion/$(basename $GITHUB_WORKSPACE) \
|
||
|
-v $HOME/go/pkg/mod:/go/pkg/mod \
|
||
|
-v $HOME/.cache:/.cache \
|
||
|
-w /go/src/github.com/pion/$(basename $GITHUB_WORKSPACE) \
|
||
|
i386/golang:${{matrix.go}}-alpine \
|
||
|
/usr/local/go/bin/go test \
|
||
|
${TEST_EXTRA_ARGS:-} \
|
||
|
-v ./...
|
||
|
|
||
|
test-wasm:
|
||
|
runs-on: ubuntu-latest
|
||
|
strategy:
|
||
|
fail-fast: false
|
||
|
name: WASM
|
||
|
steps:
|
||
|
- uses: actions/checkout@v2
|
||
|
|
||
|
- name: Use Node.js
|
||
|
uses: actions/setup-node@v2
|
||
|
with:
|
||
|
node-version: '12.x'
|
||
|
|
||
|
- uses: actions/cache@v2
|
||
|
with:
|
||
|
path: |
|
||
|
~/go/pkg/mod
|
||
|
~/.cache
|
||
|
key: ${{ runner.os }}-wasm-go-${{ hashFiles('**/go.sum') }}
|
||
|
restore-keys: |
|
||
|
${{ runner.os }}-wasm-go-
|
||
|
|
||
|
- name: Download Go
|
||
|
run: curl -sSfL https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz | tar -C ~ -xzf -
|
||
|
env:
|
||
|
GO_VERSION: 1.16
|
||
|
|
||
|
- name: Set Go Root
|
||
|
run: echo "GOROOT=${HOME}/go" >> $GITHUB_ENV
|
||
|
|
||
|
- name: Set Go Path
|
||
|
run: echo "GOPATH=${HOME}/go" >> $GITHUB_ENV
|
||
|
|
||
|
- name: Set Go Path
|
||
|
run: echo "GO_JS_WASM_EXEC=${GOROOT}/misc/wasm/go_js_wasm_exec" >> $GITHUB_ENV
|
||
|
|
||
|
- name: Insall NPM modules
|
||
|
run: yarn install
|
||
|
|
||
|
- name: Run Tests
|
||
|
run: |
|
||
|
GOOS=js GOARCH=wasm $GOPATH/bin/go test \
|
||
|
-coverprofile=cover.out -covermode=atomic \
|
||
|
-exec="${GO_JS_WASM_EXEC}" \
|
||
|
-v ./...
|
||
|
|
||
|
- uses: codecov/codecov-action@v1
|
||
|
with:
|
||
|
file: ./cover.out
|
||
|
name: codecov-umbrella
|
||
|
fail_ci_if_error: true
|
||
|
flags: wasm
|