# This is a basic workflow to help you get started with Actions name: CI # Controls when the action will run. Triggers the workflow on push or pull request # events but only for the main branch on: push: branches: [ main, openapi ] pull_request: branches: [ main, openapi ] # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: # This workflow contains a single job called "build" build: # The type of runner that the job will run on runs-on: ubuntu-latest # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v2 # Download go-swagger - name: download go-swagger run: | curl -Lsq https://github.com/go-swagger/go-swagger/releases/download/v0.25.0/swagger_linux_amd64 -o $GOBIN/swagger - name: Validate OpenAPI with Swagger run: swagger validate openapi.yaml # Make it - name: Build run: | make all # Lint it - name: golangci-lint uses: golangci/golangci-lint-action@v2 with: version: v1.32 # Test It - name: Test run: go test -v ./... # Gosec It - name: Run Gosec Security Scanner uses: securego/gosec@v2.5.0 env: GOROOT: "" with: args: ./... #TODO: add check that ensures we didn't generate different code than what was checked out