mirror of
https://github.com/slackhq/nebula.git
synced 2025-11-08 16:23:58 +01:00
These new helpers make the code a lot cleaner. I confirmed that the simple helpers like `atomic.Int64` don't add any extra overhead as they get inlined by the compiler. `atomic.Pointer` adds an extra method call as it no longer gets inlined, but we aren't using these on the hot path so it is probably okay.
93 lines
1.8 KiB
YAML
93 lines
1.8 KiB
YAML
name: Build and test
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/test.yml'
|
|
- '**Makefile'
|
|
- '**.go'
|
|
- '**.proto'
|
|
- 'go.mod'
|
|
- 'go.sum'
|
|
jobs:
|
|
|
|
test-linux:
|
|
name: Build all and test on ubuntu-linux
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Set up Go 1.19
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: 1.19
|
|
id: go
|
|
|
|
- name: Check out code into the Go module directory
|
|
uses: actions/checkout@v2
|
|
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: ~/go/pkg/mod
|
|
key: ${{ runner.os }}-go1.19-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-go1.19-
|
|
|
|
- name: Build
|
|
run: make all
|
|
|
|
- name: Test
|
|
run: make test
|
|
|
|
- name: End 2 end
|
|
run: make e2evv
|
|
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
name: e2e packet flow
|
|
path: e2e/mermaid/
|
|
if-no-files-found: warn
|
|
|
|
test:
|
|
name: Build and test on ${{ matrix.os }}
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [windows-latest, macos-11]
|
|
steps:
|
|
|
|
- name: Set up Go 1.19
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: 1.19
|
|
id: go
|
|
|
|
- name: Check out code into the Go module directory
|
|
uses: actions/checkout@v2
|
|
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: ~/go/pkg/mod
|
|
key: ${{ runner.os }}-go1.19-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-go1.19-
|
|
|
|
- name: Build nebula
|
|
run: go build ./cmd/nebula
|
|
|
|
- name: Build nebula-cert
|
|
run: go build ./cmd/nebula-cert
|
|
|
|
- name: Test
|
|
run: go test -v ./...
|
|
|
|
- name: End 2 end
|
|
run: make e2evv
|
|
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
name: e2e packet flow
|
|
path: e2e/mermaid/
|
|
if-no-files-found: warn
|