Skip to content

Interop testing with pion stun #6

Interop testing with pion stun

Interop testing with pion stun #6

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
cache: true
- uses: taiki-e/install-action@v2
with:
tool: just
# `just lint` shells out to golangci-lint and adds GOPATH/bin to PATH,
# so install it there (go install is the method `just lint` recommends).
- run: go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest
- run: just lint
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
cache: true
- uses: actions/setup-python@v6
with:
python-version: "3.x"
- uses: taiki-e/install-action@v2
with:
tool: just
# Unit tests under the race detector — superset of plain `just test`.
- run: just test-race
# Independent-implementation interop: Python clients on the wire.
- run: just test-py
# stunc against stund over UDP/TCP/TLS/DTLS + the auth handshake
# (openssl for cert generation ships on the runner).
- run: just test-e2e
interop:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
cache: true
- uses: taiki-e/install-action@v2
with:
tool: just
# Foreign implementation on the wire: pion/stun against our stund.
- run: just interop