Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

change(release): Enable all user features in the experimental build #7892

Closed
7 tasks
Tracked by #7728
teor2345 opened this issue Nov 1, 2023 · 5 comments · Fixed by #8059 or #8175
Closed
7 tasks
Tracked by #7728

change(release): Enable all user features in the experimental build #7892

teor2345 opened this issue Nov 1, 2023 · 5 comments · Fixed by #8059 or #8175
Assignees
Labels
A-release Area: Zebra releases and release management C-enhancement Category: This is an improvement I-usability Zebra is hard to understand or use S-needs-triage Status: A bug report needs triage

Comments

@teor2345
Copy link
Contributor

teor2345 commented Nov 1, 2023

Motivation

We want to be able to point users to an experimental build for all new user features, not just one or two features we've been focused on recently. This makes using those features easier for users, because they don't have to build Zebra themselves.

It also makes our documentation simpler, because we can just say "use the latest-experimental image", rather than explaining which features are in it.

Suggested Solution:

First PR:

Second PR:

  • Add all user features to the experimental feature: elasticsearch, journald, prometheus, filter-reload, shielded-scan
  • Add a config test for the experimental feature (as well as getblockchain-rpcs and shielded-scan), and add a config with all the experimental features enabled

Optional

If the Test all job is slow:

Not needed any more - job is fast
  • Split it into an experimental job and a default features job
    # Currently GitHub doesn't allow empty variables
    if [[ -n "${{ vars.RUST_EXPERIMENTAL_FEATURES }}" && "${{ vars.RUST_EXPERIMENTAL_FEATURES }}" != " " ]]; then
    docker run -e NETWORK --name zebrad-tests-experimental --tty ${{ vars.GAR_BASE }}/${{ vars.CI_IMAGE_NAME }}@${{ needs.build.outputs.image_digest }} cargo test --locked --release --features "${{ env.EXPERIMENTAL_FEATURES }} " --workspace -- --include-ignored
    fi
  • Consider building an experimental image so that we get build caching for that image
  • Admin: Add branch protection rules for new jobs

Specifications

No response

Complex Code or Requirements

We don't want to make CI fail when an admin changes the settings, so it's better to split this ticket into 2 PRs.

Testing

Make sure the tests are actually running in CI.

Related Work

No response

@teor2345 teor2345 added C-enhancement Category: This is an improvement S-needs-triage Status: A bug report needs triage P-Medium ⚡ I-usability Zebra is hard to understand or use A-release Area: Zebra releases and release management labels Nov 1, 2023
@mpguerra mpguerra added this to Zebra Nov 1, 2023
@github-project-automation github-project-automation bot moved this to 🆕 New in Zebra Nov 1, 2023
@teor2345
Copy link
Contributor Author

teor2345 commented Nov 1, 2023

This is blocked by #7891 because we want the new features to appear in the new tags, after the breaking change.

@teor2345
Copy link
Contributor Author

I've updated this ticket, it looks like we'll need an admin for parts of it, so let's check when @gustavovalverde is around.

@mpguerra mpguerra moved this from New to In progress in Zebra Jan 22, 2024
@mpguerra mpguerra linked a pull request Jan 24, 2024 that will close this issue
7 tasks
@mergify mergify bot closed this as completed in #8175 Jan 30, 2024
@github-project-automation github-project-automation bot moved this from In progress to Done in Zebra Jan 30, 2024
@mpguerra mpguerra reopened this Jan 31, 2024
@mpguerra mpguerra removed this from Zebra Feb 20, 2024
@mpguerra
Copy link
Contributor

@gustavovalverde I'm unscheduling this one because there are more pressing things this sprint and I'm a bit lost with this one... Is there anything left to do here?

@arya2
Copy link
Contributor

arya2 commented Feb 22, 2024

Is there anything left to do here?

The experimental build was added to CI in #8175 and is testing every PR update: https://github.com/ZcashFoundation/zebra/actions/runs/7997001572/job/21840879753#step:5:105

Some tests fail with the elasticsearch feature (see #8175 (comment)), so it was omitted for now.

We may want an issue for fixing those test failures and adding it to the experimental build, or for adding the internal-miner feature to the experimental build when it's restored.

@mpguerra
Copy link
Contributor

Going to close this as the original scope was done. We should open follow up issues if we want to add any new optional features, such as elasticsearch or internal-miner to the experimental build

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-release Area: Zebra releases and release management C-enhancement Category: This is an improvement I-usability Zebra is hard to understand or use S-needs-triage Status: A bug report needs triage
Projects
None yet
4 participants