add github actions

Michael Muré created

Change summary

.github/workflows/go.yml     | 41 ++++++++++++++++++++++++++++++++++++++
.github/workflows/nodejs.yml | 38 +++++++++++++++++++++++++++++++++++
bridge/github/config_test.go |  3 ++
3 files changed, 82 insertions(+)

Detailed changes

.github/workflows/go.yml 🔗

@@ -0,0 +1,41 @@
+name: Go build and test
+
+on:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+  workflow_dispatch:
+
+jobs:
+  build:
+
+    strategy:
+      matrix:
+        go-version: [1.13.x, 1.14.x, 1.15.x]
+        platform: [ubuntu-latest, macos-latest, windows-latest]
+
+    runs-on: ${{ matrix.platform }}
+
+    steps:
+
+      - name: Set up Go ${{ matrix.node-version }}
+        uses: actions/setup-go@v2
+        with:
+          go-version: ${{ matrix.go-version }}
+
+      - name: Check out code
+        uses: actions/checkout@v2
+
+      - name: Build
+        run: make
+
+      - name: Test
+        run: make test
+        env:
+          GITHUB_TEST_USER: ${{ secrets._GITHUB_TEST_USER }}
+          GITHUB_TOKEN_ADMIN: ${{ secrets._GITHUB_TOKEN_ADMIN }}
+          GITHUB_TOKEN_PRIVATE: ${{ secrets._GITHUB_TOKEN_PRIVATE }}
+          GITHUB_TOKEN_PUBLIC: ${{ secrets._GITHUB_TOKEN_PUBLIC }}
+          GITLAB_API_TOKEN: ${{ secrets.GITLAB_API_TOKEN }}
+          GITLAB_PROJECT_ID: ${{ secrets.GITLAB_PROJECT_ID }}

.github/workflows/nodejs.yml 🔗

@@ -0,0 +1,38 @@
+name: Node.js build and test
+
+on:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+  workflow_dispatch:
+
+defaults:
+  run:
+    working-directory: webui
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+
+    strategy:
+      matrix:
+        node-version: [10.x, 12.x, 14.x]
+
+    steps:
+      - name: Setup Node.js ${{ matrix.node-version }}
+        uses: actions/setup-node@v1
+        with:
+          node-version: ${{ matrix.node-version }}
+
+      - name: Check out code
+        uses: actions/checkout@v2
+
+      - name: Install
+        run: make install
+
+      - name: Build
+        run: make build
+
+      - name: Test
+        run: make test

bridge/github/config_test.go 🔗

@@ -103,6 +103,9 @@ func TestValidateUsername(t *testing.T) {
 	if env := os.Getenv("TRAVIS"); env == "true" {
 		t.Skip("Travis environment: avoiding non authenticated requests")
 	}
+	if _, has := os.LookupEnv("CI"); has {
+		t.Skip("Github action environment: avoiding non authenticated requests")
+	}
 
 	tests := []struct {
 		name  string