github.com/mongodb/grip@v0.0.0-20240213223901-f906268d82b9/evergreen.yaml (about)

     1  #######################################
     2  #         YAML Templates              #
     3  #######################################
     4  variables:
     5    - &run-build
     6      # runs a build operation. The task name in evergreen should
     7      # correspond to a make target for the build operation.
     8      name: test
     9      must_have_test_results: true
    10      commands:
    11        - func: get-project-and-modules
    12        - func: run-make
    13          vars: { target: "${task_name}" }
    14  
    15  #######################################
    16  #              Functions              #
    17  #######################################
    18  functions:
    19    get-project-and-modules:
    20      - command: git.get_project
    21        type: system
    22        params:
    23          directory: grip
    24      - command: subprocess.exec
    25        type: setup
    26        params:
    27          working_dir: grip
    28          binary: make
    29          args: ["mod-tidy"]
    30          include_expansions_in_env: ["GOROOT"]
    31    run-make:
    32      command: subprocess.exec
    33      type: test
    34      params:
    35        working_dir: grip
    36        binary: make
    37        args: ["${make_args}", "${target}"]
    38        include_expansions_in_env: ["GOROOT", "RACE_DETECTOR"]
    39  
    40  #######################################
    41  #                Tasks                #
    42  #######################################
    43  post:
    44    - command: gotest.parse_files
    45      type: setup
    46      params:
    47        files:
    48          - "grip/build/output.*"
    49    - command: s3.put
    50      type: system
    51      params:
    52        aws_key: ${aws_key}
    53        aws_secret: ${aws_secret}
    54        local_files_include_filter: ["grip/build/output.*.coverage.html"]
    55        remote_file: evergreen/${task_id}/
    56        bucket: mciuploads
    57        content_type: text/html
    58        permissions: public-read
    59        display_name: "(html) coverage:"
    60    - command: s3.put
    61      type: system
    62      params:
    63        aws_key: ${aws_key}
    64        aws_secret: ${aws_secret}
    65        local_files_include_filter: ["grip/build/output.*.coverage"]
    66        remote_file: evergreen/${task_id}/
    67        bucket: mciuploads
    68        content_type: text/plain
    69        permissions: public-read
    70        display_name: "(txt) coverage:"
    71  
    72  tasks:
    73    - <<: *run-build
    74      tags: ["report"]
    75      name: lint-grip
    76    - <<: *run-build
    77      tags: ["report"]
    78      name: lint-logging
    79    - <<: *run-build
    80      tags: ["report"]
    81      name: lint-message
    82    - <<: *run-build
    83      tags: ["report"]
    84      name: lint-recovery
    85    - <<: *run-build
    86      tags: ["report"]
    87      name: lint-send
    88    - <<: *run-build
    89      tags: ["report"]
    90      name: lint-slogger
    91  
    92    - name: verify-mod-tidy
    93      tags: ["report"]
    94      commands:
    95        - command: git.get_project
    96          type: system
    97          params:
    98            directory: grip
    99        - func: run-make
   100          vars: { target: "${task_name}" }
   101  
   102    - <<: *run-build
   103      tags: ["report"]
   104      name: coverage
   105  
   106    - <<: *run-build
   107      tags: ["test"]
   108      name: test-grip
   109    - <<: *run-build
   110      tags: ["test"]
   111      name: test-logging
   112    - <<: *run-build
   113      tags: ["test"]
   114      name: test-message
   115    - <<: *run-build
   116      tags: ["test"]
   117      name: test-recovery
   118    - <<: *run-build
   119      tags: ["test"]
   120      name: test-send
   121    - <<: *run-build
   122      tags: ["test"]
   123      name: test-slogger
   124  
   125    - <<: *run-build
   126      tags: ["test"]
   127      name: benchmark-send
   128      must_have_test_results: false
   129  
   130  #######################################
   131  #           Buildvariants             #
   132  #######################################
   133  buildvariants:
   134    - name: lint
   135      display_name: Lint
   136      expansions:
   137        GOROOT: /opt/golang/go1.20
   138      run_on:
   139        - ubuntu2204-small
   140      tasks: [ ".report" ]
   141  
   142    - name: ubuntu
   143      display_name: Ubuntu 22.04
   144      expansions:
   145        GOROOT: /opt/golang/go1.20
   146        RACE_DETECTOR: true
   147      run_on:
   148        - ubuntu2204-small
   149      tasks: [ ".test" ]
   150  
   151    - name: macos
   152      display_name: macOS
   153      expansions:
   154        GOROOT: /opt/golang/go1.20
   155      run_on:
   156        - macos-1100-arm64
   157      tasks: [ ".test" ]
   158  
   159    - name: windows
   160      display_name: Windows
   161      run_on:
   162        - windows-vsCurrent-small
   163      expansions:
   164        GOROOT: C:/golang/go1.20
   165      tasks: [ ".test" ]