67 lines
1.9 KiB
YAML
67 lines
1.9 KiB
YAML
name: ci
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: "17 5 * * *" # nightly vuln rescan
|
|
|
|
jobs:
|
|
modules:
|
|
name: ${{ matrix.module }}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
module:
|
|
- .
|
|
- api
|
|
- sdk
|
|
- plugins/boundary/mains/aws
|
|
- plugins/boundary/mains/azure
|
|
- plugins/boundary/mains/gcp
|
|
- plugins/boundary/mains/minio
|
|
- plugins/kms/mains/alicloudkms
|
|
- plugins/kms/mains/awskms
|
|
- plugins/kms/mains/azurekeyvault
|
|
- plugins/kms/mains/gcpckms
|
|
- plugins/kms/mains/ibmkp
|
|
- plugins/kms/mains/ocikms
|
|
- plugins/kms/mains/transit
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: .go-version
|
|
cache: false
|
|
- name: build
|
|
working-directory: ${{ matrix.module }}
|
|
run: go build ./...
|
|
- name: vet
|
|
working-directory: ${{ matrix.module }}
|
|
run: go vet -composites=false ./... # composites: pre-existing upstream test-file warnings
|
|
- name: govulncheck
|
|
working-directory: ${{ matrix.module }}
|
|
run: |
|
|
go install golang.org/x/vuln/cmd/govulncheck@latest
|
|
"$(go env GOPATH)/bin/govulncheck" ./...
|
|
- name: unit tests (api, sdk only; root needs Postgres)
|
|
if: matrix.module == 'api' || matrix.module == 'sdk'
|
|
working-directory: ${{ matrix.module }}
|
|
run: go test ./...
|
|
|
|
osv:
|
|
name: osv-scanner
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: .go-version
|
|
cache: false
|
|
- run: |
|
|
go install github.com/google/osv-scanner/v2/cmd/osv-scanner@latest
|
|
"$(go env GOPATH)/bin/osv-scanner" scan source -r .
|