mirror of https://github.com/hashicorp/consul
changes resulting from running on consul-enterprise
parent
39a0c4f5c4
commit
77bafd8821
|
@ -28,6 +28,9 @@ jobs:
|
|||
uses: ./.github/workflows/reusable-check-go-mod.yml
|
||||
with:
|
||||
runs-on: ${{ needs.setup.outputs.compute-medium }}
|
||||
repository-name: ${{ github.repository }}
|
||||
secrets:
|
||||
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
||||
|
||||
build-386:
|
||||
needs:
|
||||
|
@ -38,6 +41,12 @@ jobs:
|
|||
runs-on: ${{ fromJSON(needs.setup.outputs.compute-medium) }}
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # pin@v3.3.0
|
||||
|
||||
# NOTE: This step is specifically needed for ENT. It allows us to access the required private HashiCorp repos.
|
||||
- name: Setup Git
|
||||
if: ${{ endsWith(github.repository, '-enterprise') }}
|
||||
run: git config --global url."https://${{ secrets.ELEVATED_GITHUB_TOKEN }}:@github.com".insteadOf "https://github.com"
|
||||
|
||||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # pin@v3.5.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
|
@ -56,6 +65,12 @@ jobs:
|
|||
runs-on: ${{ fromJSON(needs.setup.outputs.compute-medium) }}
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # pin@v3.3.0
|
||||
|
||||
# NOTE: This step is specifically needed for ENT. It allows us to access the required private HashiCorp repos.
|
||||
- name: Setup Git
|
||||
if: ${{ endsWith(github.repository, '-enterprise') }}
|
||||
run: git config --global url."https://${{ secrets.ELEVATED_GITHUB_TOKEN }}:@github.com".insteadOf "https://github.com"
|
||||
|
||||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # pin@v3.5.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
|
@ -75,11 +90,18 @@ jobs:
|
|||
GOOS: linux
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # pin@v3.3.0
|
||||
|
||||
# NOTE: This step is specifically needed for ENT. It allows us to access the required private HashiCorp repos.
|
||||
- name: Setup Git
|
||||
if: ${{ endsWith(github.repository, '-enterprise') }}
|
||||
run: git config --global url."https://${{ secrets.ELEVATED_GITHUB_TOKEN }}:@github.com".insteadOf "https://github.com"
|
||||
|
||||
|
||||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # pin@v3.5.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
- run: |
|
||||
sudo rm -fv /etc/apt/sources.list.d/github_git-lfs.list # workaround for https://github.com/actions/runner-images/issues/1983
|
||||
# sudo rm -fv /etc/apt/sources.list.d/github_git-lfs.list # workaround for https://github.com/actions/runner-images/issues/1983
|
||||
sudo apt-get update --allow-releaseinfo-change-suite --allow-releaseinfo-change-version && sudo apt-get install -y gcc-arm-linux-gnueabi gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu
|
||||
|
||||
- run: CC=arm-linux-gnueabi-gcc GOARCH=arm GOARM=5 go build
|
||||
|
|
|
@ -39,6 +39,9 @@ jobs:
|
|||
uses: ./.github/workflows/reusable-check-go-mod.yml
|
||||
with:
|
||||
runs-on: ${{ needs.setup.outputs.compute-small }}
|
||||
repository-name: ${{ github.repository }}
|
||||
secrets:
|
||||
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
||||
|
||||
check-generated-protobuf:
|
||||
needs:
|
||||
|
@ -46,6 +49,10 @@ jobs:
|
|||
runs-on: ${{ fromJSON(needs.setup.outputs.compute-small) }}
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # pin@v3.3.0
|
||||
# NOTE: This step is specifically needed for ENT. It allows us to access the required private HashiCorp repos.
|
||||
- name: Setup Git
|
||||
if: ${{ endsWith(github.repository, '-enterprise') }}
|
||||
run: git config --global url."https://${{ secrets.ELEVATED_GITHUB_TOKEN }}:@github.com".insteadOf "https://github.com"
|
||||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # pin@v3.5.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
|
@ -62,7 +69,7 @@ jobs:
|
|||
- run: make proto-lint
|
||||
name: "Protobuf Lint"
|
||||
- name: Notify Slack
|
||||
if: failure()
|
||||
if: ${{ failure() }}
|
||||
run: .github/scripts/notify_slack.sh
|
||||
check-generated-deep-copy:
|
||||
needs:
|
||||
|
@ -70,6 +77,10 @@ jobs:
|
|||
runs-on: ${{ fromJSON(needs.setup.outputs.compute-small) }}
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # pin@v3.3.0
|
||||
# NOTE: This step is specifically needed for ENT. It allows us to access the required private HashiCorp repos.
|
||||
- name: Setup Git
|
||||
if: ${{ endsWith(github.repository, '-enterprise') }}
|
||||
run: git config --global url."https://${{ secrets.ELEVATED_GITHUB_TOKEN }}:@github.com".insteadOf "https://github.com"
|
||||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # pin@v3.5.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
|
@ -82,20 +93,25 @@ jobs:
|
|||
exit 1
|
||||
fi
|
||||
- name: Notify Slack
|
||||
if: failure()
|
||||
if: ${{ failure() }}
|
||||
run: .github/scripts/notify_slack.sh
|
||||
|
||||
lint-enums:
|
||||
needs:
|
||||
- setup
|
||||
runs-on: ${{ fromJSON(needs.setup.outputs.compute-small) }}
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # pin@v3.3.0
|
||||
# NOTE: This step is specifically needed for ENT. It allows us to access the required private HashiCorp repos.
|
||||
- name: Setup Git
|
||||
if: ${{ endsWith(github.repository, '-enterprise') }}
|
||||
run: git config --global url."https://${{ secrets.ELEVATED_GITHUB_TOKEN }}:@github.com".insteadOf "https://github.com"
|
||||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # pin@v3.5.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
- run: go install github.com/reillywatson/enumcover/cmd/enumcover@master && enumcover ./...
|
||||
- name: Notify Slack
|
||||
if: failure()
|
||||
if: ${{ failure() }}
|
||||
run: .github/scripts/notify_slack.sh
|
||||
|
||||
lint-container-test-deps:
|
||||
|
@ -104,12 +120,15 @@ jobs:
|
|||
runs-on: ${{ fromJSON(needs.setup.outputs.compute-small) }}
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # pin@v3.3.0
|
||||
# NOTE: This step is specifically needed for ENT. It allows us to access the required private HashiCorp repos.
|
||||
- name: Setup Git
|
||||
run: git config --global url."https://${{ secrets.ELEVATED_GITHUB_TOKEN }}:@github.com".insteadOf "https://github.com"
|
||||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # pin@v3.5.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
- run: make lint-container-test-deps
|
||||
- name: Notify Slack
|
||||
if: failure()
|
||||
if: ${{ failure() }}
|
||||
run: .github/scripts/notify_slack.sh
|
||||
|
||||
lint-consul-retry:
|
||||
|
@ -118,12 +137,16 @@ jobs:
|
|||
runs-on: ${{ fromJSON(needs.setup.outputs.compute-small) }}
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # pin@v3.3.0
|
||||
# NOTE: This step is specifically needed for ENT. It allows us to access the required private HashiCorp repos.
|
||||
- name: Setup Git
|
||||
if: ${{ endsWith(github.repository, '-enterprise') }}
|
||||
run: git config --global url."https://${{ secrets.ELEVATED_GITHUB_TOKEN }}:@github.com".insteadOf "https://github.com"
|
||||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # pin@v3.5.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
- run: go install github.com/hashicorp/lint-consul-retry@master && lint-consul-retry
|
||||
- name: Notify Slack
|
||||
if: failure()
|
||||
if: ${{ failure() }}
|
||||
run: .github/scripts/notify_slack.sh
|
||||
|
||||
lint:
|
||||
|
@ -132,6 +155,9 @@ jobs:
|
|||
uses: ./.github/workflows/reusable-lint.yml
|
||||
with:
|
||||
runs-on: ${{ needs.setup.outputs.compute-xl }}
|
||||
repository-name: ${{ github.repository }}
|
||||
secrets:
|
||||
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
||||
|
||||
lint-32bit:
|
||||
needs:
|
||||
|
@ -140,7 +166,9 @@ jobs:
|
|||
with:
|
||||
go-arch: "386"
|
||||
runs-on: ${{ needs.setup.outputs.compute-xl }}
|
||||
|
||||
repository-name: ${{ github.repository }}
|
||||
secrets:
|
||||
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
||||
|
||||
# create a development build
|
||||
dev-build:
|
||||
|
@ -149,6 +177,9 @@ jobs:
|
|||
uses: ./.github/workflows/reusable-dev-build.yml
|
||||
with:
|
||||
runs-on: ${{ needs.setup.outputs.compute-xl }}
|
||||
repository-name: ${{ github.repository }}
|
||||
secrets:
|
||||
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
||||
|
||||
# TODO(JM): - linux arm64 is not available in our self-hosted runners
|
||||
# they are currently on the roadmap.
|
||||
|
@ -183,7 +214,10 @@ jobs:
|
|||
directory: .
|
||||
runner-count: 12
|
||||
runs-on: ${{ needs.setup.outputs.compute-xl }}
|
||||
|
||||
repository-name: ${{ github.repository }}
|
||||
secrets:
|
||||
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
||||
consul-license: ${{secrets.CONSUL_LICENSE}}
|
||||
|
||||
go-test-race:
|
||||
needs:
|
||||
|
@ -195,6 +229,10 @@ jobs:
|
|||
go-test-flags: 'GO_TEST_FLAGS="-race -gcflags=all=-d=checkptr=0"'
|
||||
package-names-command: "go list ./... | grep -E -v '^github.com/hashicorp/consul/agent(/consul|/local|/routine-leak-checker)?$' | grep -E -v '^github.com/hashicorp/consul/command/'"
|
||||
runs-on: ${{ needs.setup.outputs.compute-xl }}
|
||||
repository-name: ${{ github.repository }}
|
||||
secrets:
|
||||
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
||||
consul-license: ${{secrets.CONSUL_LICENSE}}
|
||||
|
||||
go-test-32bit:
|
||||
needs:
|
||||
|
@ -206,6 +244,10 @@ jobs:
|
|||
go-arch: "386"
|
||||
go-test-flags: 'export GO_TEST_FLAGS="-short"'
|
||||
runs-on: ${{ needs.setup.outputs.compute-xl }}
|
||||
repository-name: ${{ github.repository }}
|
||||
secrets:
|
||||
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
||||
consul-license: ${{secrets.CONSUL_LICENSE}}
|
||||
|
||||
go-test-envoyextensions:
|
||||
needs:
|
||||
|
@ -215,6 +257,10 @@ jobs:
|
|||
with:
|
||||
directory: envoyextensions
|
||||
runs-on: ${{ needs.setup.outputs.compute-xl }}
|
||||
repository-name: ${{ github.repository }}
|
||||
secrets:
|
||||
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
||||
consul-license: ${{secrets.CONSUL_LICENSE}}
|
||||
|
||||
go-test-troubleshoot:
|
||||
needs:
|
||||
|
@ -224,6 +270,10 @@ jobs:
|
|||
with:
|
||||
directory: troubleshoot
|
||||
runs-on: ${{ needs.setup.outputs.compute-xl }}
|
||||
repository-name: ${{ github.repository }}
|
||||
secrets:
|
||||
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
||||
consul-license: ${{secrets.CONSUL_LICENSE}}
|
||||
|
||||
go-test-api-1-19:
|
||||
needs:
|
||||
|
@ -233,6 +283,10 @@ jobs:
|
|||
with:
|
||||
directory: api
|
||||
runs-on: ${{ needs.setup.outputs.compute-xl }}
|
||||
repository-name: ${{ github.repository }}
|
||||
secrets:
|
||||
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
||||
consul-license: ${{secrets.CONSUL_LICENSE}}
|
||||
|
||||
go-test-api-1-20:
|
||||
needs:
|
||||
|
@ -242,6 +296,10 @@ jobs:
|
|||
with:
|
||||
directory: api
|
||||
runs-on: ${{ needs.setup.outputs.compute-xl }}
|
||||
repository-name: ${{ github.repository }}
|
||||
secrets:
|
||||
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
||||
consul-license: ${{secrets.CONSUL_LICENSE}}
|
||||
|
||||
go-test-sdk-1-19:
|
||||
needs:
|
||||
|
@ -251,6 +309,10 @@ jobs:
|
|||
with:
|
||||
directory: sdk
|
||||
runs-on: ${{ needs.setup.outputs.compute-xl }}
|
||||
repository-name: ${{ github.repository }}
|
||||
secrets:
|
||||
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
||||
consul-license: ${{secrets.CONSUL_LICENSE}}
|
||||
|
||||
go-test-sdk-1-20:
|
||||
needs:
|
||||
|
@ -260,6 +322,10 @@ jobs:
|
|||
with:
|
||||
directory: sdk
|
||||
runs-on: ${{ needs.setup.outputs.compute-xl }}
|
||||
repository-name: ${{ github.repository }}
|
||||
secrets:
|
||||
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
|
||||
consul-license: ${{secrets.CONSUL_LICENSE}}
|
||||
|
||||
noop:
|
||||
runs-on: ubuntu-latest
|
||||
|
|
|
@ -7,12 +7,22 @@ on:
|
|||
description: An expression indicating which kind of runners to use.
|
||||
required: true
|
||||
type: string
|
||||
repository-name:
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
elevated-github-token:
|
||||
required: true
|
||||
jobs:
|
||||
check-go-mod:
|
||||
runs-on: ${{ fromJSON(inputs.runs-on) }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # pin@v3.3.0
|
||||
# NOTE: This step is specifically needed for ENT. It allows us to access the required private HashiCorp repos.
|
||||
- name: Setup Git
|
||||
if: ${{ endsWith(inputs.repository-name, '-enterprise') }}
|
||||
run: git config --global url."https://${{ secrets.elevated-github-token }}:@github.com".insteadOf "https://github.com"
|
||||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # pin@v3.5.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
|
@ -24,5 +34,5 @@ jobs:
|
|||
exit 1
|
||||
fi
|
||||
- name: Notify Slack
|
||||
if: failure()
|
||||
if: ${{ failure() }}
|
||||
run: .github/scripts/notify_slack.sh
|
||||
|
|
|
@ -11,11 +11,21 @@ on:
|
|||
description: An expression indicating which kind of runners to use.
|
||||
required: true
|
||||
type: string
|
||||
repository-name:
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
elevated-github-token:
|
||||
required: true
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ fromJSON(inputs.runs-on) }}
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # pin@v3.3.0
|
||||
# NOTE: This step is specifically needed for ENT. It allows us to access the required private HashiCorp repos.
|
||||
- name: Setup Git
|
||||
if: ${{ endsWith(inputs.repository-name, '-enterprise') }}
|
||||
run: git config --global url."https://${{ secrets.elevated-github-token }}:@github.com".insteadOf "https://github.com"
|
||||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # pin@v3.5.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
|
@ -27,5 +37,5 @@ jobs:
|
|||
name: ${{inputs.uploaded-binary-name}}
|
||||
path: ./bin/consul
|
||||
- name: Notify Slack
|
||||
if: failure()
|
||||
if: ${{ failure() }}
|
||||
run: .github/scripts/notify_slack.sh
|
||||
|
|
|
@ -11,9 +11,14 @@ on:
|
|||
description: An expression indicating which kind of runners to use.
|
||||
required: true
|
||||
type: string
|
||||
|
||||
repository-name:
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
elevated-github-token:
|
||||
required: true
|
||||
env:
|
||||
GOTAGS: "" # No tags for OSS but there are for enterprise
|
||||
GOTAGS: "${{ github.event.repository.name == 'consul-enterprise' && 'consulent consulprem consuldev' || '' }}"
|
||||
GOARCH: ${{inputs.go-arch}}
|
||||
|
||||
jobs:
|
||||
|
@ -32,6 +37,10 @@ jobs:
|
|||
name: lint ${{ matrix.directory }}
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # pin@v3.3.0
|
||||
# NOTE: This step is specifically needed for ENT. It allows us to access the required private HashiCorp repos.
|
||||
- name: Setup Git
|
||||
if: ${{ endsWith(inputs.repository-name, '-enterprise') }}
|
||||
run: git config --global url."https://${{ secrets.elevated-github-token }}:@github.com".insteadOf "https://github.com"
|
||||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # pin@v3.5.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
|
@ -43,5 +52,5 @@ jobs:
|
|||
version: v1.51
|
||||
args: --build-tags="${{ env.GOTAGS }}" -v
|
||||
- name: Notify Slack
|
||||
if: failure()
|
||||
if: ${{ failure() }}
|
||||
run: .github/scripts/notify_slack.sh
|
||||
|
|
|
@ -30,12 +30,21 @@ on:
|
|||
required: false
|
||||
type: string
|
||||
default: ""
|
||||
|
||||
repository-name:
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
elevated-github-token:
|
||||
required: true
|
||||
consul-license:
|
||||
required: true
|
||||
env:
|
||||
TEST_RESULTS: /tmp/test-results
|
||||
GOTESTSUM_VERSION: 1.8.2
|
||||
GOARCH: ${{inputs.go-arch}}
|
||||
TOTAL_RUNNERS: ${{inputs.runner-count}}
|
||||
CONSUL_LICENSE: ${{secrets.consul-license}}
|
||||
GOTAGS: "${{ github.event.repository.name == 'consul-enterprise' && 'consulent consulprem consuldev' || '' }}"
|
||||
|
||||
jobs:
|
||||
set-test-package-matrix:
|
||||
|
@ -67,15 +76,14 @@ jobs:
|
|||
echo "Hard limits"
|
||||
ulimit -Ha
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # pin@v3.3.0
|
||||
# NOTE: This step is specifically needed for ENT. It allows us to access the required private HashiCorp repos.
|
||||
- name: Setup Git
|
||||
if: ${{ endsWith(inputs.repository-name, '-enterprise') }}
|
||||
run: git config --global url."https://${{ secrets.elevated-github-token }}:@github.com".insteadOf "https://github.com"
|
||||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # pin@v3.5.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
cache: true
|
||||
- name: Install gotestsum
|
||||
run: |
|
||||
wget https://github.com/gotestyourself/gotestsum/releases/download/v${{env.GOTESTSUM_VERSION}}/gotestsum_${{env.GOTESTSUM_VERSION}}_linux_amd64.tar.gz
|
||||
sudo tar -C /usr/local/bin -xzf gotestsum_${{env.GOTESTSUM_VERSION}}_linux_amd64.tar.gz
|
||||
rm gotestsum_${{env.GOTESTSUM_VERSION}}_linux_amd64.tar.gz
|
||||
- run: mkdir -p ${{env.TEST_RESULTS}}
|
||||
- name: go mod download
|
||||
working-directory: ${{inputs.directory}}
|
||||
|
@ -84,9 +92,13 @@ jobs:
|
|||
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # pin@v3.0.2
|
||||
with:
|
||||
name: ${{inputs.uploaded-binary-name}}
|
||||
path: /usr/local/bin
|
||||
path: ${{inputs.directory}}
|
||||
- name: Display downloaded file
|
||||
run: ls -ld consul
|
||||
working-directory: ${{inputs.directory}}
|
||||
- run: echo "$GITHUB_WORKSPACE/${{inputs.directory}}" >> $GITHUB_PATH
|
||||
- name: Make sure consul is executable
|
||||
run: sudo chmod +x /usr/local/bin/consul
|
||||
run: chmod +x $GITHUB_WORKSPACE/${{inputs.directory}}/consul
|
||||
- run: go env
|
||||
- name: Run tests
|
||||
working-directory: ${{inputs.directory}}
|
||||
|
@ -100,7 +112,7 @@ jobs:
|
|||
# some tests expect this umask, and arm images have a different default
|
||||
umask 0022
|
||||
|
||||
gotestsum \
|
||||
go run gotest.tools/gotestsum@v${{env.GOTESTSUM_VERSION}} \
|
||||
--format=short-verbose \
|
||||
--jsonfile /tmp/jsonfile/go-test.log \
|
||||
--debug \
|
||||
|
@ -124,5 +136,5 @@ jobs:
|
|||
run: |
|
||||
.github/scripts/rerun_fails_report.sh /tmp/gotestsum-rerun-fails
|
||||
- name: Notify Slack
|
||||
if: failure()
|
||||
if: ${{ failure() }}
|
||||
run: .github/scripts/notify_slack.sh
|
||||
|
|
|
@ -26,34 +26,37 @@ on:
|
|||
required: false
|
||||
type: string
|
||||
default: ""
|
||||
|
||||
repository-name:
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
elevated-github-token:
|
||||
required: true
|
||||
consul-license:
|
||||
required: true
|
||||
env:
|
||||
TEST_RESULTS: /tmp/test-results
|
||||
GOTESTSUM_VERSION: 1.8.2
|
||||
GOARCH: ${{inputs.go-arch}}
|
||||
CONSUL_LICENSE: ${{secrets.consul-license}}
|
||||
GOTAGS: "${{ github.event.repository.name == 'consul-enterprise' && 'consulent consulprem consuldev' || '' }}"
|
||||
|
||||
jobs:
|
||||
go-test:
|
||||
runs-on: ${{ fromJSON(inputs.runs-on) }}
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # pin@v3.3.0
|
||||
# NOTE: This step is specifically needed for ENT. It allows us to access the required private HashiCorp repos.
|
||||
- name: Setup Git
|
||||
if: ${{ endsWith(inputs.repository-name, '-enterprise') }}
|
||||
run: git config --global url."https://${{ secrets.elevated-github-token }}:@github.com".insteadOf "https://github.com"
|
||||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # pin@v3.5.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
- name: Setup go mod cache
|
||||
uses: actions/cache@69d9d449aced6a2ede0bc19182fadc3a0a42d2b0 # pin@v3.2.6
|
||||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # pin@v3.5.0
|
||||
with:
|
||||
path: |
|
||||
~/.cache/go-build
|
||||
~/go/pkg/mod
|
||||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-go-
|
||||
- name: Install gotestsum
|
||||
run: |
|
||||
wget https://github.com/gotestyourself/gotestsum/releases/download/v${{env.GOTESTSUM_VERSION}}/gotestsum_${{env.GOTESTSUM_VERSION}}_linux_amd64.tar.gz
|
||||
sudo tar -C /usr/local/bin -xzf gotestsum_${{env.GOTESTSUM_VERSION}}_linux_amd64.tar.gz
|
||||
rm gotestsum_${{env.GOTESTSUM_VERSION}}_linux_amd64.tar.gz
|
||||
go-version-file: 'go.mod'
|
||||
cache: true
|
||||
- run: mkdir -p ${{env.TEST_RESULTS}}
|
||||
- name: go mod download
|
||||
working-directory: ${{inputs.directory}}
|
||||
|
@ -62,12 +65,13 @@ jobs:
|
|||
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # pin@v3.0.2
|
||||
with:
|
||||
name: ${{inputs.uploaded-binary-name}}
|
||||
path: /usr/local/bin
|
||||
- name: Make sure consul is executable
|
||||
run: sudo chmod +x /usr/local/bin/consul
|
||||
path: ${{inputs.directory}}
|
||||
- name: Display downloaded file
|
||||
run: ls -ld consul
|
||||
working-directory: /usr/local/bin
|
||||
working-directory: ${{inputs.directory}}
|
||||
- run: echo "$GITHUB_WORKSPACE/${{inputs.directory}}" >> $GITHUB_PATH
|
||||
- name: Make sure consul is executable
|
||||
run: chmod +x $GITHUB_WORKSPACE/${{inputs.directory}}/consul
|
||||
- run: go env
|
||||
- name: Run tests
|
||||
working-directory: ${{inputs.directory}}
|
||||
|
@ -79,7 +83,7 @@ jobs:
|
|||
|
||||
${{inputs.go-test-flags}}
|
||||
|
||||
gotestsum \
|
||||
go run gotest.tools/gotestsum@v${{env.GOTESTSUM_VERSION}} \
|
||||
--format=short-verbose \
|
||||
--jsonfile /tmp/jsonfile/go-test.log \
|
||||
--debug \
|
||||
|
@ -103,5 +107,5 @@ jobs:
|
|||
run: |
|
||||
.github/scripts/rerun_fails_report.sh /tmp/gotestsum-rerun-fails
|
||||
- name: Notify Slack
|
||||
if: failure()
|
||||
if: ${{ failure() }}
|
||||
run: .github/scripts/notify_slack.sh
|
||||
|
|
Loading…
Reference in New Issue