Skip to content

devops: Align tests names in CI, Docker and Rust code #7541

Open

Description

Describe the issue or request

It's hard for the team to know which CI test ID is running a specific Rust test, and how those matches with the Docker entrypoint.

Expected Behavior

Have a single name convention for tests across the project:

  • CI Job Names
    • changing these requires admin updates to branch protection rules
  • CI Test IDs
  • Rust Code
  • Docker entrypoint environment variables
    • some environment variables are used inside the Rust code itself, so they can't be changed

Current Behavior

We have a test called test-empty-sync in CI, but in Rust it actually triggers with the sync_large_checkpoints_{mainnet,testnet} test names.

Or having test-lightwalletd-integration in CI, which also requires a ZEBRA_TEST_LIGHTWALLETD ENV variable, to trigger the lightwalletd_integration Rust test.

Possible Solution

Use the same test names and try to trigger the test passing CLI parameters instead of ENV variables.

Do a mass rename to reliably change the names in scripts, workflows, Rust, and documentation:
https://github.com/ZcashFoundation/zebra/blob/main/book/src/dev/mass-renames.md

Avoid changing job names and job IDs, or do it in a separate PR, because updating branch protection rules is a manual task.

CI Test IDs should be limited to 20 characters, otherwise long branch names will fail (see bug #7559).

Additional Information/Context

No response

Is this happening on PRs?

N/A

Is this happening on the main branch?

N/A

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Labels

A-devopsArea: Pipelines, CI/CD and DockerfilesC-bugCategory: This is a bugC-enhancementCategory: This is an improvementI-usabilityZebra is hard to understand or useS-needs-triageStatus: A bug report needs triage

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions