changes to support brownfield onboarding to ANK8s #2732
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: ["**"] | |
jobs: | |
code-check: | |
name: Check Go formatting, linting, vetting | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v4 | |
- name: Run the formatter, linter, and vetter | |
uses: dell/common-github-actions/go-code-formatter-linter-vetter@main | |
with: | |
directories: ./... | |
# Removing forbidden checks for now. Todo - maintain consistency across platforms | |
#sanitize: | |
# name: Check for forbidden words | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout the code | |
# uses: actions/checkout@v4 | |
# - name: Run the forbidden words scan | |
# uses: dell/common-github-actions/code-sanitizer@main | |
# with: | |
# args: /github/workspace | |
test_controller: | |
name: Run Go unit tests on controller and check package coverage | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "1.22" | |
cache: false | |
- name: Checkout csm-operator | |
uses: actions/checkout@v4 | |
with: | |
repository: "dell/csm-operator" | |
path: "csm-operator" | |
- name: Run unit tests and check package coverage | |
uses: dell/common-github-actions/go-code-tester@csm-operator-controllers | |
with: | |
threshold: 90 | |
test_driver: | |
name: Run Go unit tests on driver and check package coverage | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v4 | |
- name: Run unit tests and check package coverage | |
uses: dell/common-github-actions/go-code-tester@main | |
with: | |
threshold: 95 | |
test-folder: "pkg/drivers/" | |
test_module: | |
name: Run Go unit tests on module and check package coverage | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v4 | |
- name: Run unit tests and check package coverage | |
uses: dell/common-github-actions/go-code-tester@main | |
with: | |
threshold: 90 | |
test-folder: "pkg/modules/" | |
go_security_scan: | |
name: Go security | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v4 | |
- name: Run Go Security | |
uses: securego/gosec@master | |
with: | |
args: -exclude-dir=tests -exclude=G101 ./... | |
malware_security_scan: | |
name: Malware Scanner | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v4 | |
- name: Run malware scan | |
uses: dell/common-github-actions/malware-scanner@main | |
with: | |
directories: . | |
options: -ri | |
yaml_lint_scan: | |
name: Run Yaml Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v4 | |
- name: setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- run: pip install yamllint | |
- run: yamllint . | |
image_security_scan: | |
name: Image Scanner | |
runs-on: ubuntu-latest | |
env: | |
BASE_IMG: ubuntu:latest | |
steps: | |
- name: Set up Go 1.22+ | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ^1.22 | |
id: go | |
- name: Checkout the code | |
uses: actions/checkout@v4 | |
- name: Build Docker Images | |
run: DEFAULT_IMG=csm-operator:latest make -o gen-semver docker-build | |
- name: Scan controller Image | |
uses: Azure/container-scan@v0 | |
env: | |
DOCKLE_HOST: "unix:///var/run/docker.sock" | |
with: | |
image-name: csm-operator:latest | |
severity-threshold: HIGH |