github.com/vmware/govmomi@v0.51.0/.github/workflows/govmomi-govc-tests.yaml (about)

     1  name: Tests (govc)
     2  
     3  permissions:
     4    contents: read
     5    actions: read
     6  
     7  on:
     8    push:
     9      branches: main
    10    pull_request:
    11      branches: main
    12  
    13  concurrency:
    14    group: govmomi-govc-tests-${{ github.head_ref || github.run_id }}
    15    cancel-in-progress: true
    16  
    17  jobs:
    18    govc-tests:
    19      name: Run govc Tests
    20      strategy:
    21        fail-fast: false
    22        matrix:
    23          go-version: ["1.23"]
    24          platform: [ubuntu-latest]
    25          cmd: [govc-test]
    26          experimental: [false]
    27          timeout: [20]
    28  
    29      runs-on: ${{ matrix.platform }}
    30      continue-on-error: ${{ matrix.experimental }}
    31      timeout-minutes: ${{ matrix.timeout }}
    32  
    33      steps:
    34        - name: Check Repository
    35          uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
    36  
    37        - name: Setup Go ${{ matrix.go-version }}
    38          uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
    39          with:
    40            go-version: ${{ matrix.go-version }}
    41          id: go
    42  
    43        - name: Restore Go Cache
    44          uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
    45          with:
    46            path: |
    47              ~/.cache/go-build
    48              ~/go/pkg/mod
    49            key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
    50            restore-keys: |
    51              ${{ runner.os }}-go-${{ matrix.go-version }}-
    52  
    53        - name: Run ${{ matrix.cmd }}
    54          run: |
    55            make ${{ matrix.cmd }}
    56  
    57        - name: Debug on Failure
    58          if: ${{ failure() }}
    59          uses: mxschmitt/action-tmate@7b6a61a73bbb9793cb80ad69b8dd8ac19261834c # v3.22
    60  
    61    govc-docs:
    62      name: Verify Updated Docs
    63      strategy:
    64        matrix:
    65          go-version: ["1.23"]
    66          platform: [ubuntu-latest]
    67      runs-on: ${{ matrix.platform }}
    68      timeout-minutes: 3
    69      steps:
    70        - name: Check Repository
    71          uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
    72  
    73        - name: Setup Go ${{ matrix.go-version }}
    74          uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
    75          with:
    76            go-version: ${{ matrix.go-version }}
    77          id: go
    78  
    79        - name: Restore Go Cache
    80          uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
    81          with:
    82            path: |
    83              ~/.cache/go-build
    84              ~/go/pkg/mod
    85            key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
    86            restore-keys: |
    87              ${{ runner.os }}-go-${{ matrix.go-version }}-
    88  
    89        - name: Run "make doc"
    90          run: |
    91            make doc
    92            if [ -z "$(git status --porcelain)" ]; then
    93              echo "govc/USAGE.md is up2date..."
    94            else
    95              echo "dirty working directory (diff):"
    96              git --no-pager diff
    97              echo "::error file=govc/USAGE.md::Run make doc to update USAGE.md"
    98              exit 1
    99            fi