mirror of
https://github.com/kemko/nomad.git
synced 2026-01-04 17:35:43 +03:00
ci: turn on testing in github actions
This commit is contained in:
152
.github/workflows/test-core.yaml
vendored
Normal file
152
.github/workflows/test-core.yaml
vendored
Normal file
@@ -0,0 +1,152 @@
|
||||
name: Core CI Tests
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths-ignore:
|
||||
- 'README.md'
|
||||
- 'CHANGELOG.md'
|
||||
- '.changelog/*'
|
||||
- '.tours/*'
|
||||
- 'contributing/*'
|
||||
- 'demo/*'
|
||||
- 'pkg/*'
|
||||
- 'scripts/*'
|
||||
- 'terraform/*'
|
||||
- 'ui/*'
|
||||
- 'website/*'
|
||||
push:
|
||||
branches-ignore:
|
||||
- main
|
||||
- release-**
|
||||
paths-ignore:
|
||||
- 'README.md'
|
||||
- 'CHANGELOG.md'
|
||||
- '.changelog/*'
|
||||
- '.tours/*'
|
||||
- 'contributing/*'
|
||||
- 'demo/*'
|
||||
- 'pkg/*'
|
||||
- 'scripts/*'
|
||||
- 'terraform/*'
|
||||
- 'ui/*'
|
||||
- 'website/*'
|
||||
env:
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user