summaryrefslogtreecommitdiff
path: root/.github/workflows/ci-build.yml
diff options
context:
space:
mode:
authorSmolevich <[email protected]>2019-11-11 07:58:19 +0300
committerSmolevich <[email protected]>2019-11-11 07:58:19 +0300
commit7563767d8c66a22e935aa4411bc1960504968fe2 (patch)
tree8ade6fdda48839671d961a5304531f425838342e /.github/workflows/ci-build.yml
parent4be6d7d7cf71f1a75b67fd1d8009a994078f47e0 (diff)
Update ci file and rename
Diffstat (limited to '.github/workflows/ci-build.yml')
-rw-r--r--.github/workflows/ci-build.yml87
1 files changed, 87 insertions, 0 deletions
diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml
new file mode 100644
index 00000000..e3a90392
--- /dev/null
+++ b/.github/workflows/ci-build.yml
@@ -0,0 +1,87 @@
+name: CI
+
+on:
+ push:
+ branches:
+ tags:
+ pull_request:
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ php: [7.1, 7.2, 7.3, 7.4]
+ steps:
+
+ - name: Set up Go 1.12
+ uses: actions/setup-go@v1
+ with:
+ go-version: 1.12
+ id: go
+
+ - name: Check out code into the Go module directory
+ uses: actions/checkout@v1
+
+ - name: Install PHP
+ uses: shivammathur/setup-php@master
+ with:
+ php-version: ${{ matrix.php }}
+ extension-csv: dom
+ coverage: xdebug
+
+ - name: Debug if needed
+ run: |
+ export DEBUG=${DEBUG:-false}
+ if [[ "$DEBUG" == "true" ]]; then
+ env
+ go env
+ fi
+ env:
+ DEBUG: ${{secrets.DEBUG}}
+
+ - name: Show versions
+ run: |
+ php -v
+ composer -V
+ go version
+
+ - name: Install dependencies and download binary roadrunner
+ run: |
+ export GO111MODULE=on
+ go mod download
+ composer install --no-interaction --prefer-source
+ find src/ -name "*.php" -print0 | xargs -0 -n1 -P8 php -l
+ chmod +x bin/rr && bin/rr get-binary
+
+ - name: Run golang tests
+ run: |
+ go env
+ go test -race -v -coverprofile=lib.txt -covermode=atomic
+ go test ./util -race -v -coverprofile=util.txt -covermode=atomic
+ go test ./service -race -v -coverprofile=service.txt -covermode=atomic
+ go test ./service/env -race -v -coverprofile=env.txt -covermode=atomic
+ go test ./service/rpc -race -v -coverprofile=rpc.txt -covermode=atomic
+ go test ./service/http -race -v -coverprofile=http.txt -covermode=atomic
+ go test ./service/static -race -v -coverprofile=static.txt -covermode=atomic
+ go test ./service/limit -race -v -coverprofile=limit.txt -covermode=atomic
+ go test ./service/headers -race -v -coverprofilevers=headers.txt -covermode=atomic
+ go test ./service/metrics -race -v -coverprofile=metrics.txt -covermode=atomic
+ go test ./service/health -race -v -coverprofile=health.txt -covermode=atomic
+ - name: Run code coverage
+ run: |
+ curl https://codecov.io/bash -o codecov-bash
+ chmod +x codecov-bash
+ ./codecov-bash -f lib.txt
+ ./codecov-bash -f util.txt
+ ./codecov-bash -f service.txt
+ ./codecov-bash -f env.txt
+ ./codecov-bash -f rpc.txt
+ ./codecov-bash -f http.txt
+ ./codecov-bash -f static.txt
+ ./codecov-bash -f limit.txt
+ ./codecov-bash -f headers.txt
+ ./codecov-bash -f metrics.txt
+ ./codecov-bash -f health.txt