Security improvements #168
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: Main | |
on: | |
push: | |
branches: | |
- master | |
- main | |
tags: | |
- v* | |
pull_request: | |
jobs: | |
main: | |
name: Main Process | |
runs-on: ubuntu-latest | |
env: | |
GO_VERSION: 1.17 | |
GOLANGCI_LINT_VERSION: v1.42.1 | |
YAEGI_VERSION: v0.14.2 | |
CGO_ENABLED: 0 | |
defaults: | |
run: | |
working-directory: ${{ github.workspace }}/go/src/github.com/${{ github.repository }} | |
steps: | |
# https://github.com/marketplace/actions/setup-go-environment | |
- name: Set up Go ${{ env.GO_VERSION }} | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
# https://github.com/marketplace/actions/checkout | |
- name: Check out code | |
uses: actions/checkout@v2 | |
with: | |
path: go/src/github.com/${{ github.repository }} | |
fetch-depth: 0 | |
# https://github.com/marketplace/actions/cache | |
- name: Cache Go modules | |
uses: actions/cache@v2 | |
with: | |
path: ${{ github.workspace }}/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
# https://golangci-lint.run/usage/install#other-ci | |
- name: Install golangci-lint ${{ env.GOLANGCI_LINT_VERSION }} | |
run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin ${GOLANGCI_LINT_VERSION} | |
- name: Install Yaegi ${{ env.YAEGI_VERSION }} | |
run: curl -sfL https://raw.githubusercontent.com/traefik/yaegi/master/install.sh | bash -s -- -b $(go env GOPATH)/bin ${YAEGI_VERSION} | |
- name: Setup GOPATH | |
run: go env -w GOPATH=${{ github.workspace }}/go | |
- name: Check and get dependencies | |
run: | | |
go mod tidy | |
git diff --exit-code go.mod | |
# git diff --exit-code go.sum | |
go mod download | |
go mod vendor | |
# git diff --exit-code ./vendor/ | |
- name: Lint and Tests | |
run: make | |
- name: Run tests with Yaegi | |
run: make yaegi_test | |
env: | |
GOPATH: ${{ github.workspace }}/go |