[Snyk] Security upgrade alpine from 3.14.0 to 3.20.3 #613
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: CI | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- "[0-9]+.[0-9]+.[0-9]+" | |
- "[0-9]+.[0-9]+.[0-9]+-dev.[0-9]+" | |
pull_request: | |
env: | |
GO_VERSION: 1.16 | |
GOFLAGS: -mod=readonly | |
jobs: | |
static-checks: | |
name: Run static code analysis | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v2 | |
- name: Setup Go | |
uses: actions/[email protected] | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Cache Go module dependencies | |
id: cache-go-module-dependencies | |
uses: actions/cache@v2 | |
with: | |
path: ~/go/pkg/mod | |
key: go-mod-cache-${{ runner.os }}-${{ env.GO_VERSION }}-${{ hashFiles('go.sum') }} | |
restore-keys: | | |
go-mod-cache-${{ runner.os }}-${{ env.GO_VERSION }} | |
go-mod-cache-${{ runner.os }} | |
go-mod-cache | |
- name: Set Git refname | |
id: set-git-refname | |
run: echo ::set-output name=git_refname::$(echo "${{ github.ref }}" | sed -r 's@refs/(heads|pull|tags)/@@g' ) | |
- name: Cache licenses | |
id: cache-licenses | |
uses: actions/cache@v2 | |
with: | |
path: .licensei.cache | |
key: licensei-v1-${{ steps.set-git-refname.outputs.git_refname }}-${{ hashFiles('go.sum') }} | |
restore-keys: | | |
licensei-v1-${{ steps.set-git-refname.outputs.git_refname }} | |
licensei-v1-master | |
licensei-v1 | |
- name: Download license information for dependencies | |
env: | |
GITHUB_TOKEN: ${{ github.token }} # Note: this is required for licensei auth in steps to avoid rate-limiting. | |
run: make license-cache | |
- name: List license information for dependencies | |
env: | |
GITHUB_TOKEN: ${{ github.token }} # Note: this is required for licensei auth in steps to avoid rate-limiting. | |
run: ./bin/licensei list | |
- name: Check dependency licenses | |
env: | |
GITHUB_TOKEN: ${{ github.token }} # Note: this is required for licensei auth in steps to avoid rate-limiting. | |
run: make license-check | |
- name: Run linter | |
run: make lint | |
build: | |
name: Build project | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v2 | |
with: | |
# Required for correctly populating ldflags | |
fetch-depth: 0 | |
- name: Setup Go | |
uses: actions/[email protected] | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Cache Go module dependencies | |
id: cache-go-module-dependencies | |
uses: actions/cache@v2 | |
with: | |
path: ~/go/pkg/mod | |
key: go-mod-cache-${{ runner.os }}-${{ env.GO_VERSION }}-${{ hashFiles('go.sum') }} | |
restore-keys: | | |
go-mod-cache-${{ runner.os }}-${{ env.GO_VERSION }} | |
go-mod-cache-${{ runner.os }} | |
go-mod-cache | |
- name: Build binaries and libraries | |
run: make build | |
unit-tests: | |
name: Run unit tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v2 | |
- name: Setup Go | |
uses: actions/[email protected] | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Restore Go module dependencies cache | |
id: cache-go-module-dependencies | |
uses: actions/cache@v2 | |
with: | |
path: ~/go/pkg/mod | |
key: go-mod-cache-${{ runner.os }}-${{ env.GO_VERSION }}-${{ hashFiles('go.sum') }} | |
restore-keys: | | |
go-mod-cache-${{ runner.os }}-${{ env.GO_VERSION }} | |
go-mod-cache-${{ runner.os }} | |
go-mod-cache | |
- name: Run unit tests | |
run: make test | |
integration-tests: | |
name: Run integration tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v2 | |
- name: Setup Go | |
uses: actions/[email protected] | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Restore Go module dependencies cache | |
id: cache-go-module-dependencies | |
uses: actions/cache@v2 | |
with: | |
path: ~/go/pkg/mod | |
key: go-mod-cache-${{ runner.os }}-${{ env.GO_VERSION }}-${{ hashFiles('go.sum') }} | |
restore-keys: | | |
go-mod-cache-${{ runner.os }}-${{ env.GO_VERSION }} | |
go-mod-cache-${{ runner.os }} | |
go-mod-cache | |
- name: Set up test environment | |
run: make up | |
- name: Run integration tests | |
run: make test-integration |