diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index 696754bc..77948506 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -1,20 +1,10 @@ name: Workflow -on: +on: # yamllint disable-line rule:truthy 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@v4 - - 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 @@ -25,30 +15,6 @@ jobs: uses: dell/common-github-actions/code-sanitizer@main with: args: /github/workspace - test: - permissions: write-all - name: Run Go unit tests 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.23" - - run: cd repctl && make test - - name: Run unit tests and check package coverage - run: make unit-test - go_security_scan: - permissions: write-all - name: Go security - Main Folder - runs-on: ubuntu-latest - steps: - - name: Checkout the code - uses: actions/checkout@v4 - - name: Run Go Security - Main Folder - uses: securego/gosec@master - with: - args: -exclude-dir=repctl ./... go_security_scan_repctl: permissions: write-all name: Go security - Repctl @@ -62,17 +28,6 @@ jobs: run: cd ./repctl && tar xzf gosec_2.19.0_linux_amd64.tar.gz - name: GoSec scan run: cd ./repctl && ./gosec ./... - 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 image_security_scan: name: Image Scanner runs-on: ubuntu-latest diff --git a/.github/workflows/common-workflow.yaml b/.github/workflows/common-workflow.yaml new file mode 100644 index 00000000..05e4e078 --- /dev/null +++ b/.github/workflows/common-workflow.yaml @@ -0,0 +1,17 @@ +name: Common Workflows +on: # yamllint disable-line rule:truthy + push: + branches: [main] + pull_request: + branches: ["**"] + +jobs: + + # golang static analysis checks + go-static-analysis: + uses: dell/common-github-actions/.github/workflows/go-static-analysis.yaml@main + name: Golang Validation + + common: + name: Quality Checks + uses: dell/common-github-actions/.github/workflows/go-common.yml@main diff --git a/.github/workflows/go-version.yaml b/.github/workflows/go-version.yaml index 1ba387ea..20a43669 100644 --- a/.github/workflows/go-version.yaml +++ b/.github/workflows/go-version.yaml @@ -9,7 +9,7 @@ # Reusable workflow to perform go version update on Golang based projects name: Go Version Update -on: +on: # yamllint disable-line rule:truthy workflow_dispatch: repository_dispatch: types: [go-update-workflow] diff --git a/.github/workflows/linters.yaml b/.github/workflows/linters.yaml deleted file mode 100644 index 16b9903d..00000000 --- a/.github/workflows/linters.yaml +++ /dev/null @@ -1,30 +0,0 @@ -name: linters - -on: - push: - branches: [main] - pull_request: - branches: ["**"] - -permissions: - contents: read - -jobs: - golangci-lint: - name: golangci-lint - runs-on: ubuntu-latest - steps: - - uses: actions/setup-go@v5 - with: - go-version: "1.23" - cache: false - - name: Checkout the code - uses: actions/checkout@v4 - - name: Vendor packages - run: | - go mod vendor - - name: golangci-lint - uses: golangci/golangci-lint-action@v6 - with: - version: latest - skip-cache: true diff --git a/.golangci.yaml b/.golangci.yaml deleted file mode 100644 index 56f53324..00000000 --- a/.golangci.yaml +++ /dev/null @@ -1,30 +0,0 @@ -run: - timeout: 20m - issue-exit-code: 0 # we will change this later - tests: true - skip-dirs-use-default: true - modules-download-mode: readonly - -issues: - max-issues-per-linter: 0 - max-same-issues: 0 - new: false - -output: - print-linter-name: true - sort-results: true - uniq-by-line: false - print-issued-lines: true - -linters: - disable-all: true - fast: false - enable: - # A stricter replacement for gofmt. - - gofumpt - # Inspects source code for security problems. - - gosec - # Check for correctness of programs. - - govet - # Drop-in replacement of golint. - - revive