mirror of
https://github.com/hashicorp/vault.git
synced 2026-04-20 21:57:54 -04:00
The CRT orchestrator triggers the release testing workflows for all release versions using the same main ref. Therefore, if we have concurrency controls in place we could cancel them if more than one release branch is executing workflows. Signed-off-by: Ryan Cragun <me@ryan.ec>
72 lines
3.4 KiB
YAML
72 lines
3.4 KiB
YAML
name: enos-release-testing-oss
|
|
|
|
on:
|
|
repository_dispatch:
|
|
types:
|
|
- enos-release-testing-oss
|
|
- enos-release-testing-oss::*
|
|
|
|
jobs:
|
|
product-metadata:
|
|
if: ${{ startsWith(github.event.client_payload.payload.branch, 'release/') }}
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
vault-revision: ${{ github.event.client_payload.payload.sha }}
|
|
vault-version: ${{ github.event.client_payload.payload.version }}
|
|
vault-version-package: ${{ steps.get-metadata.outputs.vault-version-package }}
|
|
steps:
|
|
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
|
|
with:
|
|
# Check out the repository at the same Git SHA that was used to create
|
|
# the artifacts to get the correct metadata.
|
|
ref: ${{ github.event.client_payload.payload.sha }}
|
|
- id: get-metadata
|
|
env:
|
|
VAULT_VERSION: ${{ github.event.client_payload.payload.version }}
|
|
run: |
|
|
echo "vault-version-package=$(make ci-get-version-package)" >> "$GITHUB_OUTPUT"
|
|
- name: Release Artifact Info
|
|
run: |
|
|
# shellcheck disable=SC2129
|
|
echo "__Product:__ ${{ github.event.client_payload.payload.product }}" >> "$GITHUB_STEP_SUMMARY"
|
|
echo "__Version:__ ${{ github.event.client_payload.payload.version }}" >> "$GITHUB_STEP_SUMMARY"
|
|
echo "__Commit:__ ${{ github.event.client_payload.payload.sha }}" >> "$GITHUB_STEP_SUMMARY"
|
|
echo "" >> "$GITHUB_STEP_SUMMARY"
|
|
echo "[Build Workflow](https://github.com/${{github.event.client_payload.payload.org}}/${{github.event.client_payload.payload.repo}}/actions/runs/${{github.event.client_payload.payload.buildworkflowid}})" >> "$GITHUB_STEP_SUMMARY"
|
|
|
|
test:
|
|
name: Test ${{ matrix.build-artifact-name }}
|
|
if: ${{ startsWith(github.event.client_payload.payload.branch, 'release/') }}
|
|
needs: product-metadata
|
|
uses: ./.github/workflows/test-run-enos-scenario-matrix.yml
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- sample-name: release_oss_linux_amd64_deb
|
|
build-artifact-name: vault_${{ needs.product-metadata.outputs.vault-version-package }}-1_amd64.deb
|
|
- sample-name: release_oss_linux_arm64_deb
|
|
build-artifact-name: vault_${{ needs.product-metadata.outputs.vault-version-package }}-1_arm64.deb
|
|
- sample-name: release_oss_linux_amd64_rpm
|
|
build-artifact-name: vault_${{ needs.product-metadata.outputs.vault-version-package }}-1.x86_64.rpm
|
|
- sample-name: release_oss_linux_arm64_rpm
|
|
build-artifact-name: vault_${{ needs.product-metadata.outputs.vault-version-package }}-1.aarch64.rpm
|
|
- sample-name: release_oss_linux_amd64_zip
|
|
build-artifact-name: vault_${{ needs.product-metadata.outputs.vault-version }}_linux_amd64.zip
|
|
- sample-name: release_oss_linux_arm64_zip
|
|
build-artifact-name: vault_${{ needs.product-metadata.outputs.vault-version }}_linux_arm64.zip
|
|
with:
|
|
build-artifact-name: ${{ matrix.build-artifact-name }}
|
|
sample-max: 2
|
|
sample-name: ${{ matrix.sample-name }}
|
|
vault-revision: ${{ needs.product-metadata.outputs.vault-revision }}
|
|
vault-version: ${{ needs.product-metadata.outputs.vault-version }}
|
|
secrets: inherit
|
|
|
|
save-metadata:
|
|
runs-on: linux
|
|
if: always()
|
|
needs: test
|
|
steps:
|
|
- name: Persist metadata
|
|
uses: hashicorp/actions-persist-metadata@v1
|