mirror of
https://github.com/kemko/nomad.git
synced 2026-01-04 09:25:46 +03:00
Trusted Supply Chain Component Registry (TSCCR) enforcement starts Monday and an internal report shows our semgrep action is pinned to a version that's not currently permitted. Update all the action versions to whatever's the new hotness to maximum the time-to-live on these until we have automated pinning setup. Also version bumps our chromedriver action, which randomly broke upstream today.
131 lines
3.5 KiB
YAML
131 lines
3.5 KiB
YAML
name: Core CI Tests
|
|
on:
|
|
pull_request:
|
|
paths-ignore:
|
|
- 'README.md'
|
|
- 'CHANGELOG.md'
|
|
- '.changelog/**'
|
|
- '.tours/**'
|
|
- 'contributing/**'
|
|
- 'demo/**'
|
|
- 'dev/**'
|
|
- 'e2e/terraform/**'
|
|
- 'e2e/ui/**'
|
|
- 'integrations/**'
|
|
- 'pkg/**'
|
|
- 'scripts/**'
|
|
- 'terraform/**'
|
|
- 'ui/**'
|
|
- 'website/**'
|
|
push:
|
|
branches:
|
|
- main
|
|
- release/**
|
|
paths-ignore:
|
|
- 'README.md'
|
|
- 'CHANGELOG.md'
|
|
- '.changelog/**'
|
|
- '.tours/**'
|
|
- 'contributing/**'
|
|
- 'demo/**'
|
|
- 'dev/**'
|
|
- 'e2e/terraform/**'
|
|
- 'e2e/ui/**'
|
|
- 'integrations/**'
|
|
- 'pkg/**'
|
|
- 'scripts/**'
|
|
- 'terraform/**'
|
|
- 'ui/**'
|
|
- 'website/**'
|
|
|
|
env:
|
|
VERBOSE: 1
|
|
GOTESTARCH: amd64
|
|
CONSUL_VERSION: 1.14.4
|
|
VAULT_VERSION: 1.12.2
|
|
NOMAD_SLOW_TEST: 0
|
|
NOMAD_TEST_LOG_LEVEL: OFF
|
|
|
|
jobs:
|
|
# this caches dependencies for subsequent jobs, including private deps in enterprise
|
|
mods:
|
|
runs-on: ${{ endsWith(github.repository, '-enterprise') && fromJSON('["self-hosted", "ondemand", "linux"]') || 'ubuntu-22.04' }}
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
|
|
- uses: ./.github/actions/vault-secrets
|
|
with:
|
|
paths: |-
|
|
kv/data/github/hashicorp/nomad-enterprise/gha ELEVATED_GITHUB_TOKEN ;
|
|
- name: Git config token
|
|
if: endsWith(github.repository, '-enterprise')
|
|
run: git config --global url.'https://${{ env.ELEVATED_GITHUB_TOKEN }}@github.com'.insteadOf 'https://github.com'
|
|
- uses: hashicorp/setup-golang@v1
|
|
- name: Get Go modules
|
|
run: |
|
|
make tidy
|
|
make bootstrap
|
|
checks:
|
|
uses: ./.github/workflows/checks.yaml
|
|
needs: [mods]
|
|
compile:
|
|
needs: [mods, checks]
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-22.04, macos-11, windows-2019]
|
|
runs-on: ${{matrix.os}}
|
|
timeout-minutes: 20
|
|
steps:
|
|
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
|
|
- uses: hashicorp/setup-golang@v1
|
|
- name: Run make dev
|
|
run: |
|
|
make bootstrap
|
|
make dev
|
|
tests-api:
|
|
needs: [mods]
|
|
runs-on: [custom, xl, 22.04]
|
|
timeout-minutes: 8
|
|
steps:
|
|
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
|
|
- uses: hashicorp/setup-golang@v1
|
|
- name: Run API tests
|
|
env:
|
|
GOTEST_MOD: api
|
|
run: |
|
|
make bootstrap
|
|
make generate-all
|
|
sudo sed -i 's!Defaults!#Defaults!g' /etc/sudoers
|
|
sudo -E env "PATH=$PATH" make test-nomad-module
|
|
tests-groups:
|
|
needs: [mods]
|
|
runs-on: ubuntu-22.04
|
|
timeout-minutes: 30
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
groups:
|
|
- nomad
|
|
- client
|
|
- command
|
|
- drivers
|
|
- quick
|
|
steps:
|
|
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
|
|
- uses: hashicorp/setup-golang@v1
|
|
- name: Run Matrix Tests
|
|
env:
|
|
GOTEST_GROUP: ${{matrix.groups}}
|
|
run: |
|
|
make bootstrap
|
|
make generate-all
|
|
make dev
|
|
hc-install install -version ${{env.VAULT_VERSION}} -path ${{env.GOBIN}} vault
|
|
hc-install install -version ${{env.CONSUL_VERSION}} -path ${{env.GOBIN}} consul
|
|
sudo sed -i 's!Defaults!#Defaults!g' /etc/sudoers
|
|
sudo -E env "PATH=$PATH" make test-nomad
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|