Skip to content

ON-15512: Don't fail with non cri-o container runtime #1

ON-15512: Don't fail with non cri-o container runtime

ON-15512: Don't fail with non cri-o container runtime #1

Workflow file for this run

# SPDX-License-Identifier: MIT
# (c) Copyright 2023-2024 Advanced Micro Devices, Inc.
name: "Static Analysis - Go"
on:
workflow_dispatch:
inputs:
lint_codebase:
description: Lint all files instead of changed
default: false
required: true
type: boolean
pull_request:
branches: [master]
paths:
- '**.go'
- go.mod
- Makefile
push:
branches: [master]
paths:
- '**.go'
- go.mod
- Makefile
# schedule:
# - cron: '44 2 * * 5'
env:
lint-all: ${{ github.event_name == 'workflow_dispatch' && inputs.lint_codebase }}
permissions:
contents: read
jobs:
# super-linter has issues with go-1.21 & linting of changed go files only
lint-go:
name: Go Linter
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Go - setup env
uses: actions/setup-go@v4
with:
go-version-file: go.mod
cache: false # handled by linter action
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.54 # go 1.21
only-new-issues: ${{ !env.lint-all }}
unit-tests:
name: Unit Tests
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Go - setup env
uses: actions/setup-go@v4
with:
go-version-file: go.mod
- run: make test
analyse:
name: CodeQL
runs-on: ubuntu-latest
needs: [ unit-tests, lint-go ] # cost mitigation
timeout-minutes: 360
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ go ]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Go - setup env
uses: actions/setup-go@v4
with:
go-version-file: go.mod
- name: Go - download dependencies
run: go get
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
queries: security-extended,security-and-quality
- name: Go Build on Operator, Device Plugin, and Worker
run: make build device-plugin-build worker-build
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: "/language:${{ matrix.language }}"