-
Bob Callaway authoredBob Callaway authored
main.yml 1.52 KiB
# 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