-
Notifications
You must be signed in to change notification settings - Fork 4
✨ (VoteSecure P1/3) Devcontainer and CI tooling #3129
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
Open
eselimsen
wants to merge
9
commits into
feat/meta-12886-02-build-stable/main
from
feat/meta-12886-03-dev-ci/main
Open
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
c9d97ed
ci: devcontainer and ci tooling
eselimsen 3e47cc6
imp: use the same wasm-bindgen for all packages and use cdn for crates
eselimsen 2f4fa03
chore: update built tgz files
eselimsen 13ea85d
imp: allow port mgmt to make wbraid work along with the rest
eselimsen d2a641c
imp: add vscode tasks for wbraid
eselimsen 166aa13
chore: fmt tasks.shared.json
eselimsen 6d23825
fix: fix 403 when pulling crates
eselimsen df3112d
imp: better rust pinning for wasm
eselimsen 00bc8bd
imp: use the same wasm-bindgen-cli for all crates
eselimsen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,107 @@ | ||
| # SPDX-FileCopyrightText: 2026 Sequent Tech Inc <legal@sequentech.io> | ||
| # | ||
| # SPDX-License-Identifier: AGPL-3.0-only | ||
|
|
||
| name: wbraid | ||
|
|
||
| # packages/wbraid is its own Cargo workspace (see packages/wbraid/PROVENANCE.md), | ||
| # so it gets its own workflow, scoped to changes under that subtree. | ||
| on: | ||
| pull_request: | ||
| paths: | ||
| - 'packages/wbraid/**' | ||
| - '.github/workflows/wbraid.yml' | ||
| - '.github/actions/setup-rust-tests/**' | ||
| push: | ||
| branches: [ 'main', 'release/[0-9]+.[0-9]+' ] | ||
| paths: | ||
| - 'packages/wbraid/**' | ||
| - '.github/workflows/wbraid.yml' | ||
| - '.github/actions/setup-rust-tests/**' | ||
|
|
||
| defaults: | ||
| run: | ||
| working-directory: packages/wbraid | ||
|
|
||
| jobs: | ||
| lint: | ||
| name: Format and lint | ||
| runs-on: ubuntu-24.04 | ||
| timeout-minutes: 30 | ||
| steps: | ||
| - name: Check out code | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Set up Rust | ||
| uses: ./.github/actions/setup-rust-tests | ||
| with: | ||
| cargo-build-name: wbraid-lint | ||
| cargo-build-path: packages/wbraid/target | ||
| cargo-lock-path: packages/wbraid/Cargo.lock | ||
| components: rustfmt, clippy | ||
|
|
||
| - name: Check formatting | ||
| run: cargo fmt -- --check | ||
|
|
||
| # vsc is a vendored fork with its own strict lint levels; its test modules | ||
| # and the shuffle_scaling example fail those upstream levels (identically | ||
| # on nightly, see PROVENANCE.md), and under -D warnings its warn-level | ||
| # lints (indexing_slicing) would fail too. --no-deps keeps -D warnings | ||
| # from leaking into vsc through the workspace wrapper; the second | ||
| # invocation lints vsc's lib at exactly the levels upstream chose. | ||
| - name: Clippy (workspace except vsc, all targets) | ||
| run: cargo clippy --workspace --exclude vsc --all-targets --no-deps -- -D warnings | ||
|
|
||
| - name: Clippy (vsc lib, upstream lint levels) | ||
| run: cargo clippy -p vsc --no-deps | ||
|
|
||
| test: | ||
| name: Run tests | ||
| runs-on: ubuntu-24.04 | ||
| timeout-minutes: 45 | ||
| steps: | ||
| - name: Check out code | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Set up Rust | ||
| uses: ./.github/actions/setup-rust-tests | ||
| with: | ||
| cargo-build-name: wbraid-test | ||
| cargo-build-path: packages/wbraid/target | ||
| cargo-lock-path: packages/wbraid/Cargo.lock | ||
|
|
||
| # The live-b4 protocol tests (test_protocol_http*) and the Verificatum | ||
| # interop tests are #[ignore]d: they need a running b4 + LocalStack or a | ||
| # JVM with the Verificatum jars. The live-b4 ones stay ignored here until | ||
| # a follow-up gives this job b4 and LocalStack service containers. | ||
| - name: Run tests | ||
| run: cargo test --release | ||
| env: | ||
| RUST_BACKTRACE: 'full' | ||
|
|
||
| build-wasm-core: | ||
| name: Build wasm-core | ||
| runs-on: ubuntu-24.04 | ||
| timeout-minutes: 30 | ||
| steps: | ||
| - name: Check out code | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Set up Rust | ||
| uses: ./.github/actions/setup-rust-tests | ||
| with: | ||
| cargo-build-name: wbraid-wasm | ||
| cargo-build-path: packages/wbraid/target | ||
| cargo-lock-path: packages/wbraid/Cargo.lock | ||
| targets: wasm32-unknown-unknown | ||
|
|
||
| # Run from the workspace root so crates/braid/.cargo/config.toml (atomics | ||
| # + build-std, which need RUSTC_BOOTSTRAP on stable) does not apply; the | ||
| # wasm-core feature needs neither, and the build stops before bindings, | ||
| # so no wasm-bindgen-cli is required. The full atomics `wasm` feature | ||
| # build stays a dev-loop concern (build-wasm.sh / build-wasm.ps1). | ||
| - name: Build braid wasm-core | ||
| run: >- | ||
| cargo build -p braid --lib --release | ||
| --target wasm32-unknown-unknown | ||
| --no-default-features --features wasm-core | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win
🔎 Supported by static analysis
🏁 Script executed:
Repository: sequentech/step
Length of output: 395
🏁 Script executed:
Repository: sequentech/step
Length of output: 21659
🤖 get_repo_knowledge executed:
get_repo_knowledge sequentech/step /tmp/coderabbit-repo-knowledge/sequentech-step-58f97436Length of output: 2479
🌐 Web query:
GitHub actions/checkout v4 persist-credentials default documentation💡 Result:
In the GitHub actions/checkout v4 action, the default value for the persist-credentials input is true [1][2][3]. When persist-credentials is set to true (the default), the authentication token used to check out the repository is persisted in the local git configuration [1][4]. This allows your workflow scripts to run authenticated git commands within that job [1][4]. The token is automatically removed during the post-job cleanup process [1][4]. If you wish to prevent this behavior for security or other reasons, you can opt out by explicitly setting persist-credentials to false in your workflow step [1][4]: - uses: actions/checkout@v4 with: persist-credentials: false
Citations:
Set least-privilege workflow permissions and disable credential persistence.
Add workflow-level
permissions: { contents: read }. The threeactions/checkout@v4steps use the defaultpersist-credentials: true, which stores the token in local Git configuration for subsequent commands. Setpersist-credentials: falseon each checkout step.🧰 Tools
🪛 zizmor (1.29.0)
[warning] 5-108: overly broad permissions (excessive-permissions): default permissions used due to no permissions: block
(excessive-permissions)
🤖 Prompt for AI Agents
Source: Linters/SAST tools