Skip to content
Latchkey

govulncheck workflow (prometheus-community/postgres_exporter)

The govulncheck workflow from prometheus-community/postgres_exporter, explained and optimized by Latchkey.

C

CI health: C - fair

Point runs-on at Latchkey and get run de-duplication, job timeouts, self-healing for flaky steps, and up to 58% lower cost, applied automatically.

Grade your own workflow free or run it on Latchkey →
Source: prometheus-community/postgres_exporter.github/workflows/govulncheck.ymlLicense Apache-2.0View source

What it does

This is the govulncheck workflow from the prometheus-community/postgres_exporter repository, a real project running GitHub Actions. It is shown here with attribution under its Apache-2.0 license.

Below, Latchkey shows a faster, safer version produced by its optimization engine.

The workflow

workflow (.yml)
---
name: govulncheck
on:
  pull_request:
    paths:
      - VERSION
      - .github/workflows/govulncheck.yml
  push:
    branches:
      - main
      - master
  schedule:
    - cron: '33 2 * * *'

permissions:
  contents: read

jobs:
  govulncheck:
    runs-on: ubuntu-latest
    name: Run govulncheck
    steps:
      - name: Install snmp_exporter/generator dependencies
        id: snmp-deps
        run: sudo apt-get update && sudo apt-get -y install libsnmp-dev
        if: github.repository == 'prometheus/snmp_exporter'
      - id: govulncheck
        uses: golang/govulncheck-action@3fa7bd9cee2cfdf3499a8803b226e43de7b7cdb4 # master
        env:
          GOOS: ${{ contains(github.repository, 'windows_exporter') && 'windows' || '' }}

The same workflow, on Latchkey

Removes redundant runs and caps runaway jobs. Added and changed lines are highlighted.

---
name: govulncheck
on:
  pull_request:
    paths:
      - VERSION
      - .github/workflows/govulncheck.yml
  push:
    branches:
      - main
      - master
  schedule:
    - cron: '33 2 * * *'
 
permissions:
  contents: read
 
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
 
jobs:
  govulncheck:
    timeout-minutes: 30
    runs-on: latchkey-small
    name: Run govulncheck
    steps:
      - name: Install snmp_exporter/generator dependencies
        id: snmp-deps
        run: sudo apt-get update && sudo apt-get -y install libsnmp-dev
        if: github.repository == 'prometheus/snmp_exporter'
      - id: govulncheck
        uses: golang/govulncheck-action@3fa7bd9cee2cfdf3499a8803b226e43de7b7cdb4 # master
        env:
          GOOS: ${{ contains(github.repository, 'windows_exporter') && 'windows' || '' }}
 

What changed

What Latchkey heals here

This workflow has steps that commonly fail on transient issues (network, registries, flaky browsers). On Latchkey managed runners they are detected, retried, and self-healed instead of failing your build:

This workflow runs 1 job per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.