e85fbaf0ac
test_checks.sh was removed in 2019 and now just breaks if VERBOSE is set when running tests via make targets in GHA, use verbose mode to display what tests are running
142 lines
3.5 KiB
YAML
142 lines
3.5 KiB
YAML
name: Core CI Tests
|
|
on:
|
|
push:
|
|
branches-ignore:
|
|
- main
|
|
- release-**
|
|
paths-ignore:
|
|
- 'README.md'
|
|
- 'CHANGELOG.md'
|
|
- '.changelog/*'
|
|
- '.tours/*'
|
|
- 'contributing/*'
|
|
- 'demo/*'
|
|
- 'dev/*'
|
|
- 'e2e/terraform/*'
|
|
- 'integrations/*'
|
|
- 'pkg/*'
|
|
- 'scripts/*'
|
|
- 'terraform/*'
|
|
- 'ui/*'
|
|
- 'website/*'
|
|
env:
|
|
VERBOSE: 1
|
|
GO_VERSION: 1.17.7
|
|
GOBIN: /usr/local/bin
|
|
GOTESTARCH: amd64
|
|
CONSUL_VERSION: 1.11.3
|
|
VAULT_VERSION: 1.9.3
|
|
NOMAD_SLOW_TEST: 0
|
|
NOMAD_TEST_LOG_LEVEL: ERROR
|
|
jobs:
|
|
checks:
|
|
runs-on: ubuntu-20.04
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0 # needs tags for checkproto
|
|
- uses: magnetikonline/action-golang-cache@v1
|
|
with:
|
|
go-version: ${{env.GO_VERSION}}
|
|
cache-key-suffix: -checks
|
|
- name: Run make check
|
|
run: |
|
|
make bootstrap
|
|
make check
|
|
compile:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-20.04, macos-11, windows-2019]
|
|
runs-on: ${{matrix.os}}
|
|
timeout-minutes: 20
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: magnetikonline/action-golang-cache@v1
|
|
with:
|
|
go-version: ${{env.GO_VERSION}}
|
|
cache-key-suffix: -compile
|
|
- name: Run make dev
|
|
env:
|
|
GOBIN: ${{env.GOROOT}}/bin # windows kludge
|
|
run: |
|
|
make bootstrap
|
|
make dev
|
|
tests-api:
|
|
runs-on: ubuntu-20.04
|
|
timeout-minutes: 30
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: magnetikonline/action-golang-cache@v1
|
|
with:
|
|
go-version: ${{env.GO_VERSION}}
|
|
cache-key-suffix: -api
|
|
- name: Run API tests
|
|
env:
|
|
GOTEST_MOD: api
|
|
run: |
|
|
make bootstrap
|
|
make generate-all
|
|
make test-nomad-module
|
|
tests-pkgs:
|
|
runs-on: ubuntu-20.04
|
|
timeout-minutes: 30
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
pkg:
|
|
- acl
|
|
- client
|
|
- client/allocdir
|
|
- client/allochealth
|
|
- client/allocrunner
|
|
- client/allocwatcher
|
|
- client/config
|
|
- client/consul
|
|
- client/devicemanager
|
|
- client/dynamicplugins
|
|
- client/fingerprint
|
|
- client/lib/...
|
|
- client/logmon
|
|
- client/pluginmanager
|
|
- client/state
|
|
- client/stats
|
|
- client/structs
|
|
- client/taskenv
|
|
- command
|
|
- command/agent
|
|
- drivers/docker
|
|
- drivers/exec
|
|
- drivers/java
|
|
- drivers/rawexec
|
|
- helper/...
|
|
- internal/...
|
|
- jobspec/...
|
|
- lib/...
|
|
- nomad
|
|
- nomad/deploymentwatcher
|
|
- nomad/stream
|
|
- nomad/structs
|
|
- nomad/volumewatcher
|
|
- plugins/...
|
|
- scheduler/...
|
|
- testutil
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: magnetikonline/action-golang-cache@v1
|
|
with:
|
|
go-version: ${{env.GO_VERSION}}
|
|
cache-key-suffix: -pkgs
|
|
- name: Run Matrix Tests
|
|
env:
|
|
GOTEST_PKGS: ./${{matrix.pkg}}
|
|
run: |
|
|
make bootstrap
|
|
make generate-all
|
|
hc-install vault ${{env.VAULT_VERSION}}
|
|
hc-install consul ${{env.CONSUL_VERSION}}
|
|
sudo sed -i 's!Defaults!#Defaults!g' /etc/sudoers
|
|
sudo -E env "PATH=$PATH" make test-nomad
|
|
|