Skip to content

Bump golang.org/x/tools from 0.9.3 to 0.10.0 #192

Bump golang.org/x/tools from 0.9.3 to 0.10.0

Bump golang.org/x/tools from 0.9.3 to 0.10.0 #192

Workflow file for this run

name: Build and Test
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Set up Go
uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753
with:
go-version: 1.18
- name: Check module vendoring
run: |
go mod tidy
go mod vendor
go mod verify
test -z "$(git status --porcelain)" || (echo "please run 'go mod tidy && go mod vendor', and submit your changes"; exit 1)
- name: Cache LLVM and Clang
id: cache-llvm
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
with:
path: $HOME/.clang
key: llvm-12.0
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@f8f2154d96f018dcb600739c4978bfc35f435422
with:
ubuntu-version: "20.04"
version: "12.0.0"
directory: $HOME/.clang
cached: ${{ steps.cache-llvm.outputs.cache-hit }}
- name: Generate
run: go generate .
- name: Build
run: go build .
- name: Store executable
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
with:
name: pwru
path: pwru
test:
runs-on: ubuntu-latest-4cores-16gb
name: Test
needs: build
strategy:
fail-fast: false
matrix:
kernel: [ '5.4-v0.3', '5.15-v0.3', '6.3-main' ]
timeout-minutes: 10
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Retrieve stored pwru executable
uses: actions/download-artifact@v3
with:
name: pwru
path: pwru
- name: Run tests
uses: cilium/little-vm-helper@d04a0cf0ee684b1b249a320a0a6030ffda5eef30
with:
test-name: pwru-test
image-version: ${{ matrix.kernel }}
install-dependencies: 'true'
dns-resolver: '1.1.1.1'
host-mount: ./
cmd: |
set -x
chmod +x /host/pwru/pwru
# Block traffic to both endpoints, so that we can see kfree_skb*
# in traces (test assertion)
iptables -I OUTPUT 1 -m tcp --proto tcp --dst 1.0.0.1/32 --dport 8080 -j DROP
ip6tables -I OUTPUT 1 -m tcp --proto tcp --dst 2606:4700:4700::1001 --dport 8080 -j DROP
i=0
for addr in '1.0.0.1' '2606:4700:4700::1001'; do
i=\$((i+1))
port=8080
/host/pwru/pwru --filter-dst-ip="\$addr" --filter-port="\$port" --output-tuple \
--output-file=/tmp/pwru-\$i.log \
--ready-file=/tmp/pwru-\$i.ready 2>/tmp/pwru-\$i.status &
PWRU_PID=\$!
while [ ! -f /tmp/pwru-\$i.ready ]; do sleep 1; done
url=\$addr
if \$(echo \$addr | grep -q ':'); then url="[\$addr]"; fi
echo \$url
curl -vvv -sS --fail --connect-timeout "1" -o /dev/null http://\$url:\$port || true
kill \$PWRU_PID
wait \$PWRU_PID
grep "kfree_skb" /tmp/pwru-\$i.log | grep -F "\${url}:\${port}"
done
- name: Fetch artifacts
if: ${{ !success() }}
uses: cilium/little-vm-helper@d04a0cf0ee684b1b249a320a0a6030ffda5eef30
with:
provision: 'false'
cmd: |
cat /tmp/pwru-*.status || true
cat /tmp/pwru-*.ready || true
cat /tmp/pwru-*.log || true