Skip to content

Commit

Permalink
Run Video and Data Integration tests in CI (muxinc#12)
Browse files Browse the repository at this point in the history
* First pass of github actions

* Match starter workflow, which I think is broken

* There will be a lot of debug commits coming

* Create gobin

* dep ensure

* Workaround path issues

* Nightmare

* Debug all the things

* Hopefully

* Rebuild paths under the limited directory structure github allows

* Try and run a test maybe

* no-op

* Pull creds

* Run all tests. Will likely fail, concerningly.

* First pass at cleaning up workflow

* Move GOPATH to the top level

* Remove empty env statements

* A little more cleanup and some commenting

* Try cleaning up using variables liberally

* 1 is the default fetch depth anyway

* Cleanup, commenting, correct triggers

* Badge it!

* Cleanup tests to use Safari as per synthetic views
  • Loading branch information
philcluff authored Apr 24, 2020
1 parent 90f78c5 commit a657a74
Show file tree
Hide file tree
Showing 6 changed files with 81 additions and 8 deletions.
43 changes: 43 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Integration Test

on:
push:
branches:
- master
pull_request:

# I appreciate this isn't the cleanest workflow, but it's the neatest I can get it while we're
# still using dep to manage dependencies. If we move to go modules this can be cleaned up a lot.
# I'd love to use a nicer checkout path, but GitHub actions won't let you use anything above
# /home/runner/work/mux-go/mux-go/, so /home/runner/work/mux-go/mux-go/go it is!

jobs:
build:
name: Integration Test
runs-on: ubuntu-latest
env:
GOPATH: /home/runner/work/mux-go/mux-go/go
CHECKOUT_LOCATION: /home/runner/work/mux-go/mux-go/go/src/github.com/muxinc/mux-go
steps:
- name: Check out code
uses: actions/checkout@v2
with:
path: ${{env.CHECKOUT_LOCATION}}
- name: Install Go
uses: actions/setup-go@v2
- name: Install Dep
run: |
mkdir -p $GOPATH/bin
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
- name: Install Go Dependencies
run: |
cd $CHECKOUT_LOCATION
export PATH=$PATH:$(go env GOPATH)/bin
dep ensure
- name: Run Integration Tests
run: |
cd $CHECKOUT_LOCATION
bash test.sh
env:
MUX_TOKEN_ID: ${{ secrets.MUX_TOKEN_ID }}
MUX_TOKEN_SECRET: ${{ secrets.MUX_TOKEN_SECRET }}
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
![Mux Go Banner](https://banner.mux.dev/?image=go)

![](https://github.com/muxinc/mux-go/workflows/Integration%20Test/badge.svg)

# Mux Go

Official Mux API wrapper for golang projects, supporting both Mux Data and Mux Video.
Expand Down
6 changes: 3 additions & 3 deletions examples/data/errors/exercise-errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"os"

"github.com/muxinc/mux-go"
muxgo "github.com/muxinc/mux-go"
"github.com/muxinc/mux-go/examples/common"
)

Expand All @@ -20,7 +20,7 @@ func main() {
))

// ========== list-errors ==========
lep := muxgo.ListErrorsParams{Filters: []string{"browser:Chrome"}, Timeframe: []string{"7:days"}}
lep := muxgo.ListErrorsParams{Filters: []string{"browser:Safari"}, Timeframe: []string{"7:days"}}
e, err := client.ErrorsApi.ListErrors(muxgo.WithParams(&lep))
common.AssertNoError(err)
common.AssertNotNil(e.Data)
Expand All @@ -29,4 +29,4 @@ func main() {
os.Exit(255)
}
fmt.Println("list-errors ✅")
}
}
4 changes: 2 additions & 2 deletions examples/data/filters/exercise-filters.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"os"

"github.com/muxinc/mux-go"
muxgo "github.com/muxinc/mux-go"
"github.com/muxinc/mux-go/examples/common"
)

Expand Down Expand Up @@ -34,4 +34,4 @@ func main() {
common.AssertNoError(err)
common.AssertNotNil(fv.Data)
fmt.Println("list-filter-values ✅")
}
}
6 changes: 3 additions & 3 deletions examples/data/video-views/exercise-video-views.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"os"

"github.com/muxinc/mux-go"
muxgo "github.com/muxinc/mux-go"
"github.com/muxinc/mux-go/examples/common"
)

Expand All @@ -21,7 +21,7 @@ func main() {
))

// ========== list-video-views ==========
p := muxgo.ListVideoViewsParams{Filters: []string{"country:GB", "browser:Chrome"}, Timeframe: []string{"7:days"}}
p := muxgo.ListVideoViewsParams{Filters: []string{"country:US", "browser:Safari"}, Timeframe: []string{"7:days"}}
vs, err := client.VideoViewsApi.ListVideoViews(muxgo.WithParams(&p))
common.AssertNoError(err)
common.AssertNotNil(vs.Data)
Expand All @@ -36,4 +36,4 @@ func main() {
common.AssertNoError(err)
common.AssertNotNil(v.Data)
fmt.Println("get-video-view ✅")
}
}
28 changes: 28 additions & 0 deletions test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash
set -euo pipefail

if [ -z "${MUX_TOKEN_ID:-}" ]
then
echo "MUX_TOKEN_ID not set"
exit 255
fi

if [ -z "${MUX_TOKEN_SECRET:-}" ]
then
echo "MUX_TOKEN_SECRET not set"
exit 255
fi

VIDEO_TESTS=./examples/video/*/exercise*.go
for f in $VIDEO_TESTS
do
echo "========== Running $f =========="
go run $f
done

DATA_TESTS=./examples/data/*/exercise*.go
for f in $DATA_TESTS
do
echo "========== Running $f =========="
go run $f
done

0 comments on commit a657a74

Please sign in to comment.