github.com/kubeshark/ebpf@v0.9.2/.semaphore/semaphore.yml (about)

     1  version: v1.0
     2  name: CI Build
     3  
     4  agent:
     5    machine:
     6      type: e1-standard-2
     7      os_image: ubuntu2004
     8  
     9  execution_time_limit:
    10    minutes: 30
    11  
    12  global_job_config:
    13    secrets:
    14      - name: Coveralls
    15  
    16  auto_cancel:
    17    running:
    18      when: "branch != 'master'"
    19  
    20  blocks:
    21    - name: Run tests
    22      task:
    23        prologue:
    24          commands:
    25            - sudo sh -c 'swapoff -a && fallocate -l 2G /swapfile && chmod 0600 /swapfile && mkswap /swapfile && swapon /swapfile'
    26            - checkout
    27            - sudo mkdir -p /usr/local/golang/1.18 && curl -fL "https://go.dev/dl/go1.18.linux-amd64.tar.gz" | sudo tar -xz -C /usr/local/golang/1.18
    28            - sem-version go 1.18
    29            - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.45.0
    30            - export PATH="$PATH:$(go env GOPATH)/bin"
    31            - cache restore
    32            - go mod tidy
    33            - sudo pip3 install https://github.com/amluto/virtme/archive/beb85146cd91de37ae455eccb6ab67c393e6e290.zip
    34            - sudo apt-get update
    35            - sudo apt-get install -y --no-install-recommends qemu-system-x86 clang-9 llvm-9
    36            - sudo dmesg -C
    37        epilogue:
    38          always:
    39            commands:
    40              - sudo dmesg
    41        env_vars:
    42          - name: TMPDIR
    43            value: /tmp
    44          - name: CI_MAX_KERNEL_VERSION
    45            value: "5.15"
    46        jobs:
    47        - name: Build and Lint
    48          commands:
    49            - ( export GOOS=darwin; go build ./... && for p in $(go list ./...) ; do go test -c $p || exit ; done )
    50            - ( export GOARCH=arm GOARM=6; go build ./... && for p in $(go list ./...) ; do go test -c $p || exit ; done )
    51            - ( export GOARCH=arm64; go build ./... && for p in $(go list ./...) ; do go test -c $p || exit ; done )
    52            - make clean
    53            - make container-all
    54            - git diff --exit-code || { echo "found unformatted source files, or generated files are not up to date, run 'make'" >&2; false; }
    55            - pushd ./examples
    56            - go build -v -o "$(mktemp -d)" ./...
    57            - popd
    58            - golangci-lint run
    59            - cache store
    60        - name: Run unit tests on previous stable Go
    61          commands:
    62            - sem-version go 1.19
    63            - go test -v ./cmd/bpf2go -run TestRun
    64            - timeout -s KILL 600s ./run-tests.sh 5.10
    65        - name: Run unit tests
    66          matrix:
    67            - env_var: KERNEL_VERSION
    68              values: ["5.15", "5.10", "5.4", "4.19", "4.14", "4.9"]
    69          commands:
    70            - timeout -s KILL 600s ./run-tests.sh $KERNEL_VERSION