Commit graph

585 commits

Author SHA1 Message Date
Vault Automation
d9853a8f33
actions: explicitly set permissions on callable worklows
actions: explicitly set permissions on callable worklows

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-06-23 18:19:23 -06:00
Vault Automation
00281521f0
actions: pin actions to the latest versions
* actions: pin to latest actions

- actions/checkout@9c091bb21b => v7.0.0
  Adds a guardrail to prevent accidentally checking out fork pull
  request code in privileged GitHub Actions contexts
  (pull_request_target and PR-triggered workflow_run), with an
  explicit opt-in escape hatch for advanced workflows.

- pnpm/action-setup@0ebf47130e => v6.0.9
  Update pnpm to v11.7.0

- Add .github/actions/build-ui to ui changed files group

- Add .github/actions/build-ui to ui/frontend CODEOWNERS

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-06-23 10:21:26 -06:00
Vault Automation
4caa48d453
[VAULT-46052] ci: add weekend schedule for IAM resource cleanup
Add separate Saturday morning sweeps (3 AM & 5 AM ET) for IAM resources
that lack age metadata or tag support. Conditionally exclude `IAMUserPolicy`,
`IAMRolePolicy`, and policy attachments from weekday sweeps to prevent
interference with active CI runs.

Additional changes:
- Add explicit `America/New_York` timezone to workflow schedules
- Update nightly tests to run at 9 AM ET (was 1 PM UTC)
- Grant `iam:TagInstanceProfile` permission to CI service user to tag instance
  profiles to build date based nuke filters.

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-06-19 17:58:00 -04:00
Vault Automation
c60337075e
Add IBM Instana observability integration alongside DataDog (#15179) (#15488)
* Create instana-test.yml

* Update instana-test.yml

* test if authorization passes

* updated to test-hcp

* Update instana-test.yml

* Added Instana to ci for logging

* update github ci to use instana

* changes

* Update test-go.yml

* Update instana.go

* Update helper/testhelpers/observability/instana.go



---------

Co-authored-by: Jaired Jawed <jaired.jawed@hashicorp.com>
Co-authored-by: Jaired Jawed <jairedjawed@Jaireds-Work-MacBook-Pro.local>
Co-authored-by: Jaired Jawed <jairedjawed@Mac-144.lan>
Co-authored-by: hashigator <280075563+hashigator@users.noreply.github.com>
2026-06-19 16:28:07 +00:00
Ryan Cragun
d2acb60ef9
action: pass compute-build to the scenario workflow (#15574)
Signed-off-by: Ryan Cragun <me@ryan.ec>
2026-06-16 13:54:59 -06:00
Jordan Reimer
f1b6da7638
updates setup-pnpm action to install node first (#15553) 2026-06-16 13:54:59 -06:00
Ryan Cragun
515ad91e2c
actions: increase runner sizes for build and test jobs (#15552)
Since moving to the standard runner labels we've seen a significant
decrease in job wait time but the smaller runners that we can get for
various jobs are too unreliable and we're seeing many disconnects.

Instead, increase the baseline runner size for build and test
workflows to large. This will likely require waiting longer but that
is almost certainly better than a runner disconnect and retry.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2026-06-16 13:54:59 -06:00
Vault Automation
75f15c17a6
Build UI Node Fix
* updates build-ui action to run setup-node before pnpm/action-setup

* fixes issue with empty pnpm store path

* executes pnpm from directory since it isn't on the path

* updates to hardcoded pnpm store path

* one more attempt at getting pnpm store path

* reverts to hardcoded path

* fixes bad revert

* updates pnpm store cache key and adds cache hit guard

* removes restore-key

Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
2026-06-16 19:01:08 +00:00
Vault Automation
38d4ecddb3
ci: use a large runner when cleaning up
* Use a large runner. When we get small ones the runner can get OOMed.
* Don't run the action in the context of the container so we can use
  the runners Node 24 to assume the role before executing the quota
  check.

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-06-15 14:16:36 +00:00
Vault Automation
74940f107c
actions: update pins to latest versions
- actions/add-to-project@5afcf98fcd => v2.0.0
  - Dependency bumps
  - Node 24 updates
- actions/cache@27d5ce7f10 => v5.0.5
  - ts-http-runtime update
- actions/checkout@df4cb1c069 => v6.0.3
  - Fixes for sha256 repositories
- actions/setup-go@4a3601121d => v6.4.0
  - Dependency bumps
  - Support custom distributions
- actions/setup-node@48b55a011b => v6.4.0
  - Dependency bumps
- actions/upload-artifact@043fb46d1a => v7.0.1
  - ts-http-runtime update
- aws-actions/configure-aws-credentials@e7f100cf4c => v6.2.0
  - Various bug fixes and improvements
- browser-actions/setup-chrome@2e1d749697 => v2.1.2
  - Drop 32 bit support
- docker/build-push-action@f9f3042f7e => v7.2.0
  - Dependency bumps
- docker/setup-buildx-action@d7f5e7f509 => v4.1.0
  - Dependency bumps
- hashicorp/actions-generate-metadata@a43468dfb1 # v1.1.4
 - Node 24 updates
- hashicorp/actions-set-product-version@d9be602dfa => v2.0.2
 - Node 24 updates
- hashicorp/action-setup-enos@3817610f3f => v1.53
  - Dependency bumps
  - New enos release
- hashicorp/setup-terraform@dfe3c3f878 => v4.0.1
  - Node 24 updates
- hashicorp/vault-action@892a26828f => v4.0.0
  - Node 24 updates
- hashicorp-forge/actions-pao-tool/*@0409050df899ec0612745ca17e47c0fba18b7c10 => v1.1.0
  - Node 24 updates
- peter-evans/create-pull-request@5f6978faf0 => v8.1.1
  - Dependency bumps
- pnpm/action-setup@0e279bb959 => v6.0.8
  - Added support for pnpm 11 and various fixes around its support
- slackapi/slack-github-action@45a88b9581 => v3.0.3
  - Bug fixes
  - Improved telemetry
- sqlc-dev/setup-sqlc@bac53b7fb2 => v5.0.0
  - Dependency bumps
- test-summary/action@37b508cfee => v2.6
  - Fixing tags

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-06-12 20:20:36 -04:00
Vault Automation
94947e4267
Complete vault_verify_replication migration to blackbox tests (#15301) (#15348)
* Complete vault_verify_replication migration to blackbox tests

Migrate all remaining enos scenarios to use vault_run_blackbox_test:
- enos-scenario-proxy.hcl
- enos-scenario-seal-ha.hcl
- enos-scenario-upgrade.hcl
- enos-scenario-agent.hcl
- enos-scenario-autopilot.hcl

Remove vault_verify_replication module from enos-modules.hcl

All scenarios now use the blackbox test framework for replication verification.

* Update setup-enos action to v1.53

Co-authored-by: hashigator <280075563+hashigator@users.noreply.github.com>
2026-06-11 16:55:55 +00:00
Vault Automation
150eeb82b7
Add vault-frontend as UI codeowner (#15088) (#15089)
Add the vault-frontend team to each CODEOWNERS entry that
already lists vault-ui.

Keep frontend reviewers on general UI changes and the
OIDC/JWT/SAML exceptions alongside the existing ecosystem
ownership.

Co-authored-by: Angelo Cordon <angelo.cordon@hashicorp.com>
Co-authored-by: OpenCode (gpt-5.4) <opencode.noreply@hashicorp.com>
2026-06-10 15:53:05 -04:00
Vault Automation
741e8d64e7
VAULT-44371: adding before and after steps for enos AWS resources (#15183) (#15322)
* VAULT-44371: adding before and after steps for enos AWS resources

* debugging lint error

* debugging lint error

* addressing comments

* testing pipeline

* testing pipeline

Co-authored-by: Tin Vo <tintvo08@gmail.com>
2026-06-09 10:55:57 -07:00
Vault Automation
6e6396a65b
CE and enterprise editions have different versions. Always include the edition in the cache key
Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-06-08 13:39:52 -06:00
Vault Automation
7808c301e2
feat(enos): migrate vault_verify_replication to blackbox tests (#14963) (#15112)
* feat(enos): migrate vault_verify_replication to blackbox tests

Convert vault_verify_replication from bash scripts to blackbox SDK tests.

Changes:
- Created vault/external_tests/blackbox/verify/replication_test.go with TestReplicationAvailability
- Updated enos-scenario-smoke.hcl to use vault_run_blackbox_test module
- Removed enos/modules/vault_verify_replication module and bash script

The new test verifies:
- CE: replication mode is 'disabled'
- ENT: DR and performance replication are available

Fixes: Converts bash-based verification to Go-based blackbox tests for better maintainability

* Add detailed error messages to replication test for debugging

* Add debug logging to replication test

* Exclude TestReplicationAvailability from race detection

The TestReplicationAvailability test requires a live Vault instance with
VAULT_ADDR and VAULT_TOKEN environment variables set. This test is not
compatible with race detection runs in CI which don't have these
prerequisites configured.

Add //go:build !race tag to exclude this test from race detection runs.

* Revert "Exclude TestReplicationAvailability from race detection"

This reverts commit 5afc7c1bf243e7e833864288cdd5bd16c9ed3018.

* Fix replication test to read from root namespace

The test was failing because it tried to read sys/replication/status
from within the test's isolated namespace. Replication status is only
available at the root namespace level.

Changes:
- Use WithRootNamespace() to read replication status from root
- Add proper error handling for the namespace operation
- Add api import for WithRootNamespace return type

* Add testonly build tag and update CI workflow pattern for verify tests

* Add missing ip_version parameter to vault_run_blackbox_test calls

Co-authored-by: hashigator <280075563+hashigator@users.noreply.github.com>
2026-06-05 17:31:03 +00:00
Vault Automation
da9b387579
use ubuntu-22.04 everywhere to access more hot runner pools
* use ubuntu-22.04 everywhere to access more hot runner pools

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-05-28 10:26:55 -06:00
Vault Automation
3b246d7a71
Backport actions: expressions in composite action defaults don't work 🫢 into ce/main
* actions: expressions in composite action defaults don't work 🫢 (#15023)

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-05-28 08:53:36 -07:00
Vault Automation
6f292e3dac
go: remove SKIP_SETCAP env vars and add IPC_LOCK when using vault containers
* go: remove SKIP_SETCAP env vars and add IPC_LOCK when using vault containers

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-05-21 09:37:08 -06:00
Ryan Cragun
705b2ff0b0
actions: fix runs-on quotes (#14881)
Signed-off-by: Ryan Cragun <me@ryan.ec>
2026-05-19 16:50:01 +00:00
Vault Automation
7b474da570
[VAULT-44431] enos: merge changes for enterprise zap scenario into ce/main
Backport community files that changed as part the enterprise only zap scenarios. This mostly includes fixes to scenario execution,  retries, and blackbox SDK tests that were broken.

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-05-18 10:07:46 -06:00
Vault Automation
f0cf2a4b68
UI/v2 forms infrastructure (#14134) (#14694)
* copies v2 form components from POC branch

* fixes issue in form-config-generator when path parameters are not defined

* adds api code-generator for snippet creation

* expands cli and terraform code generators

* updates form-config-generator to return api path from spec

* fixes issue setting field value in v2-form class

* updates form-config types

* updates v2 form and renderer components to conditional render fields

* adds v2 form apply component

* updates v2 form wizard component to support apply step

* add support for field types (text input variants, text area, checkbox, radio, masked input) and add test coverage

* Dynamic field visibility and Select field support

* [POC] Public PKI (mocked) Wizard - revert this before merging

* Revert "[POC] Public PKI (mocked) Wizard - revert this before merging"

This reverts commit 66646f1d7a71d0e67028ebcabcfe33925197ffc9.

* cleanup & address copilot pr comments

* address PR comments

---------

Co-authored-by: Shannon Roberts (Beagin) <beagins@users.noreply.github.com>
Co-authored-by: Jordan Reimer <jordan.reimer@hashicorp.com>
2026-05-13 08:46:34 -07:00
Vault Automation
d3f132c121
[VAULT-44808] override the workflow token when downloading nfpm
We've been seeing Github throw 500s a lot today when downloading nfpm.
My assumption is that this is due to throttling while Github works to
resolve their platform reliability. Instead of relying on the default
workflow token which has a lower priority than users, use the service
user token when calling the action that downloads nfpm to package Vault.

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-05-07 21:59:31 +00:00
Vault Automation
4b7e638b98
ci: gracefully handle failure summary aggregation issues
I've only seen a single instance where this can fail but even if it does
it should not prevent merges in an otherwise successful run.

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-05-06 20:12:34 +00:00
Vault Automation
a6c45509b9
actions: use standard runner labels for all workflows (#14476) (#14522)
Use standard runner labels for all workflows. This will allow us to pull
from the hot pools for most jobs and on-demand when more are needed.
This does elimate our cost optimization but latest on-demand runners
have taken so long to provision as to be unbearable.

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-05-06 10:53:49 -07:00
Vault Automation
daeade6ba1
Backport Add transit test using managed keys into ce/main (#14534)
Also includes https://github.com/hashicorp/vault-enterprise/pull/14540
2026-05-06 12:05:40 -04:00
Vault Automation
01c243241c
VAULT-44364: Separate enos CI test results from Go test results (#14395) (#14498)
* VAULT-44364: disabling PR table failures

* testing pipeline

* undo report message

* testing pipeline'

* using assert to test'

* testing pipeline

* testing pipeline

* testing pipeline

* testing pipeline

Co-authored-by: Tin Vo <tintvo08@gmail.com>
2026-05-06 08:48:57 -07:00
Vault Automation
06b3374bd5
VAULT-43442: Adding Enos SDK AWS test to add/delete Vault AWS Roles (#14248) (#14358)
* updating matrix workflow format for easier visualization

* adding test to create and delete Vault AWS Roles

* refactoring functions

* testing pipeline

* testing pipeline

* testing pipeline

* testing pipeline

* finishing up role deletion test

* finishing up role deletion test

Co-authored-by: Tin Vo <tintvo08@gmail.com>
2026-04-28 13:46:11 -07:00
Vault Automation
522be03417
(enos) Make Blackbox SDK Test Output Visible in GitHub Actions (#14026) (#14113)
Co-authored-by: brewgator <lt.carbonell@hashicorp.com>
2026-04-20 20:31:49 +00:00
Vault Automation
67a4593a4b
ci: use os=ubuntu label for linux/amd64 on-demand runners
Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-04-08 23:42:58 +00:00
Vault Automation
cae8a2c58f
Backport ci: add more backup self-hosted runner types into ce/main
* ci: add more backup self-hosted runner types (#13763)

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-04-08 15:04:16 -07:00
Vault Automation
ef4609e2a4
pipeline(metadata): fix ce_in_enterprise detection (#13408) (#13414)
Support detecting short or long base refs

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-03-25 21:30:54 -06:00
Vault Automation
13c7838ab3
Backport [VAULT-42245] Add IBM license update to enos upgrade scenario into ce/main (#13165)
* [VAULT-42245] Add IBM license update to enos upgrade scenario (#12661)

* initial changes

* more changes

* test

* test changes

* Fix test

* try ignoring customer id

* clean up

* more clean up

* lint

* PR comments

* make edition a variable

* lint

* PR comments

* add default for customer id

* fix script and lint

* specify license file

* Apply suggestion from @ryancragun

Co-authored-by: Ryan Cragun <me@ryan.ec>

* always configure ibm license

* Update enos/modules/verify_log_secrets/main.tf

Co-authored-by: Ryan Cragun <me@ryan.ec>

* lint

---------

Co-authored-by: Ryan Cragun <me@ryan.ec>

* lint

---------

Co-authored-by: Jenny Deng <jenny.deng@hashicorp.com>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-03-25 12:04:01 -07:00
Vault Automation
773f056792
Backport [VAULT-43364] pipeline: add template generation support into ce/main
* [VAULT-43364] pipeline: add template generation support

Add a new `template` to the `pipeline generate` command tree. It allows
rendering Go text templates with pipeline requests available via context
functions. The new system is now product agnostic and can be used to
generate any template we wish. This will supersede the enos specific
configuration command.

We also add support for multiple cadences when fetching the list of
release versions. Previously it was assumed that we followed a minor
version bump cadence when fetching versions with an n-minus style lower
bound. Now we can specify the major or minor cadence. To support a
migration from one cadence to another you can also specify an prior
cadence and the version at which the transition happened. This allows
the n-3 reverse traversal to drop into the prior cadence if/when
necessary.

**Template Rendering System**
- New `pipeline generate template` command renders Go templates with
  pipeline data access
- Supports stdin/stdout or file-based input/output
- Templates access version data via function calls rather than
  pre-populated context

**Version Cadence Support**
- Added `VersionCadence` type with `minor` and `major` release cadence
  tracking
- Supports cadence transitions (e.g., minor→major) with
  `TransitionVersion` and `PriorCadence` fields
- Calculates version ranges respecting different release cadences

**Template Functions**
- `VersionsNMinus` / `VersionsBounded` - List versions with explicit
  cadence parameter
- `VersionsNMinusTransition` / `VersionsBoundedTransition` - Handle
  cadence transitions
- `ParseVersion`, `CompareVersions`, `FilterVersions` - Version
  utilities
- All functions require cadence to be explicitly specified

**CLI Integration**
- `--version` and `--edition` flags expose current version/edition to
  templates
- Templates reference these via `.Version` and `.Edition` context fields

**Enos Migration**
- Converted `enos-dynamic-config.hcl` to template-based generation
- Uses `VersionsNMinusTransition` to handle Vault's minor→major cadence
  shift at 1.21.5

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-03-25 14:41:11 -04:00
Vault Automation
a3bc0a3078
(enos): Add LDAP secrets engine blackbox tests to Plugin Scenario (#13072) (#13293)
* Add LDAP secrets engine blackbox tests

* Format

* format

* cleanup environment

* Install ldap-utils in CI for LDAP domain provisioning

* wrap in eventually

* debugging

* fix ip issues

Co-authored-by: Luis (LT) Carbonell <lt.carbonell@hashicorp.com>
2026-03-23 14:22:46 +00:00
Vault Automation
f666016862
actions: update actions to the latest versions (#13056) (#13143)
- actions/cache => v5.0.4
  Dep updates

- actions/download-artifact => v8.0.1
  Support for CJK characters

- dorny/paths-filter => v4.0.1
  Node 24, support for merge queues

- hashicorp/action-setup-enos => v1.52
  Security release for downstream vuln

- pnpm/action-setup => v5.0.0
  Node 24, support for native caching

- slackapi/slack-github-action => v3.0.1
  Node 24, lots of internal dep updates, ability to run Slack commands

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-03-19 15:51:50 +00:00
Vault Automation
1a57de40bd
Backport Fill out Secret Engine Tests into ce/main (#12927)
* no-op commit

* Fill out Secret Engine Tests (#12287)

* reorg some tests

* split tests out

* fix test

* test cleanup

* make ldap work

* formatting

* whitespace

* Make KMIP work

* Activate smoke_sdk scenarios

* Add gotestsum

* tryagain

* fix go path install

* add debugging

* more debug

* shrug emoji

* Remove debug and increase timeout

* syntax

* help with polling

* disable stepdown test for now

* Update vault/external_tests/blackbox/secrets_ldap_test.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update sdk/helper/testcluster/blackbox/session_raft.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update enos/modules/verify_secrets_engines/modules/create/auth.tf

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update enos/modules/vault_run_blackbox_test/scripts/run-test.sh

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update enos/modules/vault_run_blackbox_test/main.tf

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* arm fix

* gotestsum

* timing

* try this

* try this

* handle when these already exist

* ---

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Cant run smoke_sdk in ce (#12931)

---------

Co-authored-by: Luis (LT) Carbonell <lt.carbonell@hashicorp.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-12 12:00:59 -04:00
Vault Automation
aedb2da1ff
use is_ent_branch (#12672) (#12685)
Co-authored-by: Matthew Irish <39469+meirish@users.noreply.github.com>
2026-03-11 08:23:31 -05:00
Vault Automation
383e2267ed
Fix GitHub Actions expression evaluation error in build workflow (#12884) (#12901)
* Fix GitHub Actions expression evaluation error in build workflow

- Add hcp-setup job with explicit step-by-step parameter validation
- Replace problematic inline expressions with debuggable logic steps
- Use proper fallback values (0 instead of '') for number type inputs
- Resolve 'Unexpected value' error on scheduled runs
- Maintain existing workflow logic and conditional behavior
- Add clear logging for troubleshooting parameter resolution

* Fix type conversion for pull-request number in build workflow

- Use fromJSON() to convert string output to number type
- Resolves type mismatch error in reusable workflow input

Co-authored-by: Luis (LT) Carbonell <lt.carbonell@hashicorp.com>
2026-03-10 21:04:36 +00:00
Vault Automation
48925d76fb
Fix conditional to use new tool (#12836) (#12866)
* Fix conditional to use new tool

* use event name instead

Co-authored-by: Luis (LT) Carbonell <lt.carbonell@hashicorp.com>
2026-03-10 12:04:06 -06:00
Vault Automation
aa10cc0e4a
cloud: automatically trigger custom image test when changing the hcp testing toolchain (#12654) (#12664)
* actions: pull in gotestsum when executing the cloud scenario
* cloud: add 'hcp' changed-file group and trigger cloud scenario when the files change
* slightly simplify expression

---------

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-03-09 16:46:35 -06:00
Vault Automation
ab5b314c95
actions: pin actions to the latest versions (#12772) (#12793)
- docker/setup-buildx-action v3.12.0 => v4.0.0
  Node 24 upgrade, switch to ESM, some deprecated inputs have been
  removed.
- docker/build-push-action v6.19.2 => v7.0.0
  Node 24 upgrade, switch to ESM, some deprecated envs have been
  removed.
- actions/setup-node v6.2.0 => v6.3.0
  Bug fixes, internal dep updates, support for parsing `devEngines`.
- action-setup-enos v1.50 => v1.51
  Use enos 0.0.36

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-03-09 12:36:53 -06:00
Vault Automation
a2978a63f2
Fix HCP workflow expression evaluation and add test option (#12759) (#12833)
Co-authored-by: Luis (LT) Carbonell <lt.carbonell@hashicorp.com>
2026-03-09 15:49:32 +00:00
Vault Automation
617b5e8571
Fix nightly hcp build error (#12731) (#12732)
Co-authored-by: Luis (LT) Carbonell <lt.carbonell@hashicorp.com>
2026-03-05 19:13:05 -05:00
Vault Automation
ce5dd467f2
set is_ent_branch=false when on the CE branch (#12698) (#12717)
Co-authored-by: Matthew Irish <39469+meirish@users.noreply.github.com>
2026-03-05 12:45:38 -06:00
Vault Automation
ba786ab759
Add schedule to hcp runs (#12636) (#12655)
* Add schedule to hcp runs

* formatting

Co-authored-by: Luis (LT) Carbonell <lt.carbonell@hashicorp.com>
2026-03-03 00:20:36 +00:00
Vault Automation
3d420fec98
actions: bump actions to latest version (#12630)
Bump our action version pins to the latest versions.

- actions/checkout v6.0.1 => v6.0.2
  Tag handling improvements

- actions/download-artifact v7.0.0 => v8.0.0
  Supports automatic detection of unzipping based on Content-Type
  Enforces digest checking
  Uses ES modules

- actions/setup-go v6.2.0 => v6.3.0
  Uses go.mod for default module caching (which we don't use)
  Fixes to download URL

- actions/upload-artifact v6.0.0 => v7.0.0
  Supports disabling automatic archiving
  Uses ES modules

- aws-actions/configure-aws-credentials v5.1.1 => v6.0.0
  Uses Node 24

- browser-actions/setup-chrome v2.1.0 => v2.1.1
  Bug fix for Node runtime version

- docker/build-push-action v6.18.0 => v6.19.2
  Internal dep updates and auth support for different Github servers.

- hashicorp/setup-terraform v3.1.2 => v4.0.0
  Uses Node 24

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-03-02 17:48:49 -05:00
Vault Automation
a3859d67e3
Backport rework UI CI workflow to partition JS tests into ce/main (#12515)
* rework UI CI workflow to partition JS tests (#11967)

* add setup-pnpm action

* remove reading vault keys from vault server output

* update ci workflow to build app and go binary first, then run tests in partitions

* fix errant tests

* address PR feedback

* Apply suggestions from code review

Co-authored-by: Ryan Cragun <me@ryan.ec>

* more feedback changes

* restore test-helper.js

* restore auth test helpers

* check in ui/tests/helpers/vault-keys.js

* use v7 of download-artifact action

* make test-ui reusable workflow

* add status job

---------

Co-authored-by: Ryan Cragun <me@ryan.ec>

* update new UI tests to run CE tests on the CE branch (#12537)

---------

Co-authored-by: Matthew Irish <39469+meirish@users.noreply.github.com>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-02-27 12:19:47 -06:00
Vault Automation
61b6ae14e5
[VAULT-40147] pipeline: add pipeline.hcl with changed_files (#12302) (#12408)
The `pipeline` utility started as collection of small CLI utilities that we found useful for the Vault CI/CD pipeline. Rather than engineering complex bash scripts in YAML blocks, instead, we could build small, reusable, testable actions and integrate the into a single binary. No more copying and pasting loads of bash from YAML, instead we can copy a single command and run the same thing locally that we can in CI.

As we've continued to invest in the utilities capability, it's become clear that other CI pipelines would benefit from the same functionality that we've been building. This change represents the first significant work to make the utility truly generic in a HashiCorp repo that utilizes CRT sense. Once all the Vault specifics have been extracted we hope to move the utility out of the repo and make it available everywhere.

The primary change here is to move our changed file grouping configuration out of the `changed` package entirely. Instead of checkers that are written as Go code, we have created a new configuration file for the `pipeline` utility called `pipeline.hcl` While there are certainly other things that will eventually be configurable here, the only thing we've added support for is `changed_files`, which allows configuring how to match a given changed files path to a group name.

The DSL is fairly simple:

```hcl
changed_files {
  // One or more groups can be defined
  group "group_name_label" {
    // Zero or more ignore blocks can be defined
    ignore {
      base_dir         = []
      base_name        = []
      base_name_prefix = []
      contains         = []
      extension        = []
      file             = []
    }

    // One or more match blocks can be defined
    match {
      base_dir         = []
      base_name        = []
      base_name_prefix = []
      contains         = []
      extension        = []
      file             = []
    }
  }
}
```

For example,
```hcl
// Create a changed_files block where we can define our changed files groups
changed_files {

  // Group blocks take one label which is the name of the group
  group "app" {

    // Groups can ignore based on some criteria.
    ignore {

      // In this instance, we'll ignore any file that begins with
      // tools/pipeline. All paths will be relative to the git repository
      // root directory. The joinpath() function is here to support paths
      // that are agnostic to the operating systems path separator. While
      // it's unlikely that you'll need them, several cty stdlib functions
      // are available.
      base_dir = [joinpath("tools", "pipeline")]
    }

    // Groups must define at least one match block.
    match {
      // This will match any file with the .go extension (except for
      // those that will be excluded with our ignore directive aboe
      extension = [".go"]
    }

    // Groups can contain more than one match block. If any of the match
    // blocks meet their criteria the group will be associated with the
    // changed file
    match {
      base_name = ["go.mod", "go.sum"]
    }

    // If groups have more than one attribute set, each attribute group
    // must match in order for the match.
    match {
      // Here we only match files that contain "raft_autopilot" in the
      // path with the .go extension
      extension = [".go"]
      contains  = ["raft_autopilot"]
    }
  }

  group "autopilot" {
    // Ignore blocks have the same attributes as match blocks
    match {
      // The base directory.
      base_dir = [
        "changelog",
        joinpath("tools", "codechecker"),
      ]
      // The base of the file
      base_name = ["README.md"]
      // A prefix string match on a files name.
      base_name_prefix = ["buf."]
      // Any string match in the files full path
      contains = [
        "-ce",
        "_ce",
        "-oss",
        "_oss",
      ]
      // The file's extension
      extension = [
        ".hcl",
        ".md",
        ".sh",
        ".yaml",
        ".yml",
      ]
      // An exact file match
      file = [
        # These exist on CE branches to please Github Actions.
        joinpath(".github", "workflows", "build-artifacts-ent.yml"),
        joinpath(".github", "workflows", "backport-automation-ent.yml"),
      ]
    }
  }
}
```

The default location of the config is `.release/pipeline.hcl`. All of our prior checks have been migrated to the DSL file present in this change.

  - We had several commands that used the changed files groups that were built into the library. This change requires us to instead load the configuration from the file and use the user defined groupings.

  - Several commands now take some part of that configuration in the request type. When possible we use the version parsed by the root command and verify in the request body rather than attempt to load the configuration.

  - We also refactor the loading and parsing of `.release/versions.hcl` in the same manner. Now we automatically parse the file in the default locations relative to the git repo root.

  - Our root command now has two new flags `--pipeline-config` and `--versions-config` which allow specifying a default location for each file. Commands which previously accepted flags or args to configure the versions file have been updated to use the global root flags instead. We've also removed the previous implementation that would recursively search backwards from the working directory to find the `versions.hcl` file. Instead we only support loading the file from the default location relative to the Git repo root.

  - All instances of changed `pipeline` command invocations have been update to support the new auto-loading of configuration.

  - A new configuration sub-command with validation exists to quickly validate a configuration file. `pipeline config validate`

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2026-02-23 10:51:31 -08:00
Vault Automation
f3695579ac
IBM license and config reloads (#12058) (#12251)
* adding ibm tests for ent files

* adding debug commands

* adding code changes

* adding reload tests

* remove settings.json

* remove ryboe q

* changing isHashicorpLicense to isIBMLicense and moving DiagnoseCheckLicenseGeneration to core_util_common.go

* fix test

* reverting non-license related tests

* reverting non-license related tests

* removing hashicorp license test

* modify reload server_ent_test.go

* change ibm-license paths

* adding census reload server test

* moving LicensingEntitlementSelectionConfig to core_util_common.go

* add EntReloadLicenseAndConfig to stubs

* fix operator diagnose bug

* move bug fix into ce and ent files

* add more ibm test cases

* Update command/command_testonly/server_testonly_ent_test.go



* address comments

* make fmt

---------

Co-authored-by: akshya96 <87045294+akshya96@users.noreply.github.com>
Co-authored-by: Jenny Deng <jenny.deng@hashicorp.com>
2026-02-06 15:19:44 -08:00
Vault Automation
bb106f1bef
Add blackbox testing SDK (#11210) (#12245)
* rough draft

* add some stuff for dynamic secrets

* add some more helpers and sample tests

* new helpers, new tests, refactoring

* Add Basic Smoke SDK Scenario (#11678)

* Add simple test for stepdown election

* Add a smoke_sdk scenario

* add script to run tests locally

* fix up a few things

* VAULT-39746 - Add Tests to Smoke SDK and Cloud Scenarios (#11795)

* Add some go verification steps in enos sdk test run script

* formatting

* Add a smoke_sdk scenario userpass secret engine create test (#11808)

* Add a smoke_sdk scenario userpass secret engine create test

* Add the some additional tests

* Add Smoke tests to Cloud Scenario (#11876)

* Add a smoke_sdk scenario userpass secret engine create test

* Add the some additional tests

* Add smoke testing to cloud

* Add test results to output and test filtering

* comment

* fix test

* fix the smoke scenario

* Address some various feedback

* missed cleanup

* remove node count dependency in the tests

* Fix test perms

* Adjust the testing and clean them up a bit

* formatting

* fmt

* fmt2

* more fmt

* formatting

* tryagain

* remove the docker/hcp divide

* use the SHA as ID

* adjust perms

* Add transit test

* skip blackbox testing in test-go

* copywrite

* Apply suggestion from @brewgator

* Add godoc

* grep cleanup

---------

Co-authored-by: Josh Black <raskchanky@gmail.com>
Co-authored-by: Luis (LT) Carbonell <lt.carbonell@hashicorp.com>
2026-02-06 21:36:29 +00:00