Skip to content

go: fixed todotinstructions #372

go: fixed todotinstructions

go: fixed todotinstructions #372

Workflow file for this run

name: Tests
on: [push, pull_request]
jobs:
build_cpp:
runs-on: ${{ matrix.cfg.os }}
strategy:
matrix:
cfg:
- {
os: ubuntu-latest,
cpp-version: g++
}
- {
os: ubuntu-latest,
cpp-version: clang++
}
- {
os: macos-latest,
cpp-version: clang++
}
steps:
- uses: actions/checkout@v2
- if: matrix.cfg.os == 'ubuntu-latest'
name: Build on Ubuntu
env:
CXX: ${{ matrix.cfg.cpp-version}}
run: |
sudo apt install libtins-dev libjsoncpp-dev libpcap-dev # pcap required for libtins
mkdir build
cd build
cmake ..
make VERBOSE=1
./dublin-traceroute -v
- if: matrix.cfg.os == 'macos-latest'
name: Build on macOS
env:
CXX: ${{ matrix.cfg.cpp-version}}
run: |
brew update
brew install libtins jsoncpp
mkdir build
cd build
cmake ..
make
./dublin-traceroute -v
build_go:
runs-on: ${{ matrix.os }}
strategy:
matrix:
go: ['1.14', '1.15']
os: ['ubuntu-latest', 'macos-latest'] # , 'windows-latest']
steps:
- uses: actions/checkout@v2
with:
# clone in the gopath
path: src/github.com/${{ github.repository }}
- if: github.event_name == 'pull_request'
# this is for debugging. pull_request has a different hash from push,
# but the original hash is exposed in github.event.pull_request.head.sha
run: |
echo "Building SHA ${{ github.event.pull_request.head.sha }}"
- uses: actions/setup-go@v2
with:
stable: false
go-version: ${{ matrix.go }}
- run: |
echo "GOPATH=$GITHUB_WORKSPACE" >> $GITHUB_ENV
- if: matrix.os != 'windows-latest'
run: |
cd src/github.com/${{ github.repository }}/go/dublintraceroute/cmd/dublin-traceroute
go get -v ./...
go build
./dublin-traceroute --version
- if: matrix.os == 'windows-latest'
run: |
cd src/github.com/${{ github.repository }}/go/dublintraceroute/cmd/dublin-traceroute
go get -v ./...
go build
.\dublin-traceroute.exe --version
test_go:
runs-on: ${{ matrix.os }}
strategy:
matrix:
go: ['1.14', '1.15']
os: ['ubuntu-latest', 'macos-latest'] # , 'windows-latest']
steps:
- uses: actions/checkout@v2
with:
# clone in the gopath
path: src/github.com/${{ github.repository }}
- uses: actions/setup-go@v2
with:
stable: false
go-version: ${{ matrix.go }}
- run: |
echo "GOPATH=$GITHUB_WORKSPACE" >> $GITHUB_ENV
- if: matrix.os != 'windows-latest'
run: |
cd src/github.com/${{ github.repository }}/go/dublintraceroute/cmd/dublin-traceroute
go get -v -t ./...
echo "" > coverage.txt
for d in $(go list ./...); do
go test -v -race -coverprofile=profile.out -covermode=atomic "${d}"
if [ -f profile.out ]; then
cat profile.out >> coverage.txt
rm profile.out
fi
done
bash <(curl -s https://codecov.io/bash) -c -f coverage.txt -F unittest
test_cpp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
stable: "false"
go-version: "1.15"
- name: Run Tests
run: |
sudo apt install libtins-dev libjsoncpp-dev libpcap-dev googletest
git submodule init
git submodule update
mkdir build
cd build
cmake ..
make tests
make test
integ:
runs-on: ubuntu-latest
strategy:
matrix:
go: ['1.15']
env:
DOCKER_USER: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKER_PASS: ${{ secrets.DOCKERHUB_PASSWORD }}
steps:
- run: |
echo "GOPATH=$GITHUB_WORKSPACE" >> $GITHUB_ENV
echo "COMPOSE_FILE=$GITHUB_WORKSPACE/src/github.com/${{ github.repository }}/docker-compose.yml" >> $GITHUB_ENV
- uses: actions/checkout@v2
with:
# clone in the gopath
path: "src/github.com/${{ github.repository }}"
- if: github.event_name == 'pull_request'
# this is for debugging. pull_request has a different hash from push,
# but the original hash is exposed in github.event.pull_request.head.sha
run: |
echo "Building SHA ${{ github.event.pull_request.head.sha }}"
- uses: actions/setup-go@v2
with:
stable: false
go-version: ${{ matrix.go }}
- name: build routest
run: |
set -exu
cd "src/github.com/${{ github.repository }}/go/dublintraceroute/cmd/routest"
go get -v ./...
go build
- name: Login to Docker hub
run: docker login -u $DOCKER_USER -p $DOCKER_PASS
- name: Build docker image
run: docker-compose -f $COMPOSE_FILE build
- name: Run integ tests
run: docker-compose -f $COMPOSE_FILE up --abort-on-container-exit
- name: publish coverage data
run: |
bash <(curl -s https://codecov.io/bash) -c -f coverage_integ.txt -F integ