Remove dependence on io/ioutil, update Go to 1.21 #134
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Workflow | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
code-check: | |
name: Check Go formatting, linting, vetting | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v2 | |
- name: Run the formatter, linter, and vetter | |
uses: dell/common-github-actions/go-code-formatter-linter-vetter@main | |
with: | |
directories: ./... | |
sanitize: | |
name: Check for forbidden words | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v2 | |
- name: Run the forbidden words scan | |
uses: dell/common-github-actions/code-sanitizer@main | |
with: | |
args: /github/workspace | |
test: | |
name: Run Go unit tests and check package coverage | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v2 | |
- name: Run unit tests and check package coverage | |
uses: dell/common-github-actions/go-code-tester@main | |
with: | |
threshold: 90 | |
go_security_scan: | |
name: Go security | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v2 | |
- name: Run Go Security | |
uses: securego/gosec@master | |
with: | |
# exclude "G108: Profiling endpoint is automatically exposed" because we are exposing on an internal port | |
args: -exclude=G108 ./... | |
malware_security_scan: | |
name: Malware Scanner | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v2 | |
- name: Run malware scan | |
uses: dell/common-github-actions/malware-scanner@main | |
with: | |
directories: . | |
options: -ri | |
image_security_scan: | |
name: Image Scanner | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Go 1.20+ | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ^1.20 | |
id: go | |
- name: Checkout the code | |
uses: actions/checkout@v2 | |
- name: Install Mockgen | |
run: go get github.com/golang/mock/[email protected] | |
- name: Get dependencies | |
run: go mod download | |
- name: Build csm-metrics-powerstore Docker Image | |
run: make clean build docker | |
- name: Image scanner | |
uses: Azure/container-scan@v0 | |
with: | |
image-name: csm-metrics-powerstore | |
severity-threshold: HIGH | |
env: | |
DOCKLE_HOST: "unix:///var/run/docker.sock" |