gosnmp

Форк
0
/
config.yml 
84 строки · 1.8 Кб
1
---
2
version: 2.1
3

4
executors:
5
  golang:
6
    docker:
7
    - image: cimg/go:1.21
8

9
jobs:
10
  generate:
11
    executor: golang
12
    steps:
13
    - checkout
14
    - run: go install golang.org/x/tools/cmd/stringer@latest
15
    - run: go install github.com/golang/mock/mockgen@latest
16
    - run: go generate
17
    - run: git diff --exit-code
18

19
  lint:
20
    executor: golang
21
    steps:
22
    - checkout
23
    - run: make tools
24
    - run: make lint
25

26
  fuzz:
27
    executor: golang
28
    steps:
29
    - checkout
30
    - run: go test -fuzztime 60s -v -tags marshal -fuzz '^FuzzUnmarshal$'
31

32
  test:
33
    parameters:
34
      goarch:
35
        type: string
36
      goversion:
37
        type: string
38
    docker:
39
      - image: cimg/go:<< parameters.goversion >>
40
    environment:
41
      GOARCH: << parameters.goarch >>
42
      GOSNMP_TARGET: "127.0.0.1"
43
      GOSNMP_PORT: "161"
44
      GOSNMP_TARGET_IPV4: "127.0.0.1"
45
      GOSNMP_PORT_IPV4: "161"
46
      GOSNMP_TARGET_IPV6: "::1"
47
      GOSNMP_PORT_IPV6: "161"
48

49
    steps:
50
    - checkout
51
    - run: sudo apt-get update
52
    - run: sudo apt-get -y install snmpd
53
    - run: sudo ./snmp_users.sh
54
    - run: sudo sed -i -e 's/^agentaddress.*$/agentaddress 127.0.0.1/' /etc/snmp/snmpd.conf
55
    - run: sudo service snmpd restart
56
    - run: go test -v -tags helper
57
    - run: go test -v -tags marshal
58
    - run: go test -v -tags misc
59
    - run: go test -v -tags api
60
    - run: go test -v -tags end2end
61
    - run: go test -v -tags trap
62
    - run: |
63
       if [[ "${GOARCH}" == "amd64" ]]; then
64
         go test -v -tags all -race
65
       else
66
         echo "Not running -race"
67
       fi
68

69
workflows:
70
  version: 2
71
  test:
72
    jobs:
73
    - generate
74
    - lint
75
    - fuzz
76
    - test:
77
        matrix:
78
          parameters:
79
            goarch:
80
            - "amd64"
81
            - "386"
82
            goversion:
83
            - "1.20"
84
            - "1.21"
85

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.