2022-01-17 14:01:58 +01:00
|
|
|
name: Test Code Linux
|
2022-01-25 09:40:28 +01:00
|
|
|
on: [push,pull_request]
|
2022-06-24 14:50:14 +02:00
|
|
|
|
2021-06-03 11:39:19 +02:00
|
|
|
jobs:
|
|
|
|
test:
|
|
|
|
strategy:
|
|
|
|
matrix:
|
2022-07-01 10:42:38 +02:00
|
|
|
arch: ['386','amd64']
|
2021-06-03 11:39:19 +02:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install Go
|
|
|
|
uses: actions/setup-go@v2
|
|
|
|
with:
|
2022-07-01 10:42:38 +02:00
|
|
|
go-version: 1.18.x
|
2022-03-22 13:12:11 +01:00
|
|
|
|
2022-01-17 14:01:58 +01:00
|
|
|
|
|
|
|
- name: Cache Go modules
|
|
|
|
uses: actions/cache@v2
|
|
|
|
with:
|
|
|
|
path: ~/go/pkg/mod
|
|
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
|
|
restore-keys: |
|
|
|
|
${{ runner.os }}-go-
|
|
|
|
|
2021-06-03 11:39:19 +02:00
|
|
|
- name: Checkout code
|
|
|
|
uses: actions/checkout@v2
|
2022-01-17 14:01:58 +01:00
|
|
|
|
2022-03-20 17:36:35 +01:00
|
|
|
- name: Install dependencies
|
2022-04-15 17:30:12 +02:00
|
|
|
run: sudo apt update && sudo apt install -y -q libgtk-3-dev libappindicator3-dev libayatana-appindicator3-dev libgl1-mesa-dev xorg-dev
|
2022-03-20 17:36:35 +01:00
|
|
|
|
2022-01-17 14:01:58 +01:00
|
|
|
- name: Install modules
|
|
|
|
run: go mod tidy
|
|
|
|
|
2021-06-03 11:39:19 +02:00
|
|
|
- name: Test
|
2022-07-01 10:42:38 +02:00
|
|
|
run: GOARCH=${{ matrix.arch }} go test -exec 'sudo --preserve-env=CI' -timeout 5m -p 1 ./...
|
2022-09-14 22:26:11 +02:00
|
|
|
|
|
|
|
test_client_on_docker:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install Go
|
|
|
|
uses: actions/setup-go@v2
|
|
|
|
with:
|
|
|
|
go-version: 1.18.x
|
|
|
|
|
|
|
|
|
|
|
|
- name: Cache Go modules
|
|
|
|
uses: actions/cache@v2
|
|
|
|
with:
|
|
|
|
path: ~/go/pkg/mod
|
|
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
|
|
restore-keys: |
|
|
|
|
${{ runner.os }}-go-
|
|
|
|
|
|
|
|
- name: Checkout code
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: Install dependencies
|
|
|
|
run: sudo apt update && sudo apt install -y -q libgtk-3-dev libappindicator3-dev libayatana-appindicator3-dev libgl1-mesa-dev xorg-dev
|
|
|
|
|
|
|
|
- name: Install modules
|
|
|
|
run: go mod tidy
|
|
|
|
|
|
|
|
- name: Generate Iface Test bin
|
|
|
|
run: go test -c -o iface-testing.bin ./iface/...
|
|
|
|
|
|
|
|
- name: Generate RouteManager Test bin
|
|
|
|
run: go test -c -o routemanager-testing.bin ./client/internal/routemanager/...
|
|
|
|
|
|
|
|
- name: Generate Engine Test bin
|
|
|
|
run: go test -c -o engine-testing.bin ./client/internal/*.go
|
|
|
|
|
|
|
|
- name: Generate Peer Test bin
|
|
|
|
run: go test -c -o peer-testing.bin ./client/internal/peer/...
|
|
|
|
|
|
|
|
- run: chmod +x *testing.bin
|
|
|
|
|
|
|
|
- name: Run Iface tests in docker
|
|
|
|
run: docker run -t --cap-add=NET_ADMIN --privileged --rm -v $PWD:/ci -w /ci/iface --entrypoint /busybox/sh gcr.io/distroless/base:debug -c /ci/iface-testing.bin
|
|
|
|
|
|
|
|
- name: Run RouteManager tests in docker
|
|
|
|
run: docker run -t --cap-add=NET_ADMIN --privileged --rm -v $PWD:/ci -w /ci/client/internal/routemanager --entrypoint /busybox/sh gcr.io/distroless/base:debug -c /ci/routemanager-testing.bin
|
|
|
|
|
|
|
|
- name: Run Engine tests in docker
|
|
|
|
run: docker run -t --cap-add=NET_ADMIN --privileged --rm -v $PWD:/ci -w /ci/client/internal --entrypoint /busybox/sh gcr.io/distroless/base:debug -c /ci/engine-testing.bin
|
|
|
|
|
|
|
|
- name: Run Peer tests in docker
|
|
|
|
run: docker run -t --cap-add=NET_ADMIN --privileged --rm -v $PWD:/ci -w /ci/client/internal/peer --entrypoint /busybox/sh gcr.io/distroless/base:debug -c /ci/peer-testing.bin
|