Skip to content

feat: add parameters setup template - #1024

Open
cdc-as81 wants to merge 2 commits into
mainfrom
cdc-as81-support-templates-in-setup-script
Open

feat: add parameters setup template#1024
cdc-as81 wants to merge 2 commits into
mainfrom
cdc-as81-support-templates-in-setup-script

Conversation

@cdc-as81

@cdc-as81 cdc-as81 commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

• ## Summary

  • Add --template blank|parameters to the Ixa project setup script.
  • Preserve the existing blank default and optional branch argument.
  • Add a runnable parameters template with:
    • Serde support
    • Valid defaults
    • Parameter validation
    • Ixa global-property integration
    • Nine unit tests
  • Install the selected branch's rust-toolchain.toml before invoking Cargo.
    This allows rustup to automatically select or install the compatible
    toolchain.
  • Update setup CI to test checked-out scripts and template assets instead of
    remote main.
  • Cover default blank, parameters, release-branch, help, and invalid-argument
    flows.
  • Document the parameters template separately from the blank walkthrough.

Setup examples

Install the default blank template:

curl -s -f -L \
  https://raw.githubusercontent.com/CDCgov/ixa/main/scripts/setup_new_ixa_project.sh |
  sh

Install the parameters template from a branch:

curl -s -f -L \
  https://raw.githubusercontent.com/CDCgov/ixa/<branch>/scripts/setup_new_ixa_project.sh |
  sh -s -- <branch> --template parameters

cdc-as81 added 2 commits July 28, 2026 15:19
Add template selection to the Ixa project setup script, ncluding a  validated parameters starter and CI coverage for generated projects.
github-actions Bot added a commit that referenced this pull request Jul 28, 2026
@cdc-as81
cdc-as81 requested a review from k88hudson-cfa July 28, 2026 19:33
@cdc-as81 cdc-as81 linked an issue Jul 28, 2026 that may be closed by this pull request
@github-actions

Copy link
Copy Markdown

Benchmark Results

Hyperfine

Command Mean [ms] Min [ms] Max [ms] Relative
large_sir::baseline 3.4 ± 0.0 3.3 3.5 1.00
large_sir::baseline_households 3.4 ± 0.0 3.3 3.6 1.01 ± 0.02
large_sir::entities 8.2 ± 0.9 7.6 12.9 2.39 ± 0.28
large_sir::households 7.6 ± 0.1 7.4 8.1 2.22 ± 0.05

Criterion

Regressions (slower)
Group Bench Param Change CI Lower CI Upper
indexing query_people_indexed_multi-property_entities 8.043% 7.196% 9.066%
counts multi_property_indexed_entities 7.894% 6.703% 9.093%
large_dataset bench_query_population_multi_indexed_entities 7.712% 4.592% 10.592%
sampling sampling_single_known_length_entities 3.646% 2.584% 4.713%
sample_entity sample_entity_whole_population 10000 3.281% 2.843% 3.621%
sampling count_and_sampling_single_known_length_entities 2.657% 2.007% 3.373%
sample_entity sample_entity_single_property_indexed 1000 2.536% 1.675% 3.419%
large_dataset bench_query_population_derived_property_entities 1.411% 1.166% 1.655%
Improvements (faster)
Group Bench Param Change CI Lower CI Upper
indexing query_people_single_indexed_property_entities -9.100% -9.548% -8.819%
sample_entity sample_entity_single_property_unindexed 1000 -7.459% -7.922% -6.939%
sample_entity sample_entity_multi_property_indexed 100000 -6.979% -7.401% -6.556%
sampling count_and_sampling_single_unindexed_concrete_plus_derived_entiti -5.847% -7.729% -3.932%
sampling sampling_single_unindexed_concrete_plus_derived_entities -5.339% -5.741% -4.890%
counts concrete_plus_derived_unindexed_entities -5.193% -7.210% -3.369%
indexing query_people_count_indexed_multi-property_entities -3.409% -4.715% -2.141%
indexing query_people_multiple_individually_indexed_properties_entities -3.386% -3.919% -3.006%
counts single_property_indexed_entities -2.678% -3.511% -2.014%
sample_entity sample_entity_multi_property_indexed 10000 -2.112% -2.777% -1.446%
sample_entity sample_entity_whole_population 100000 -1.810% -2.510% -1.092%
Unchanged / inconclusive (CI crosses 0%)
Group Bench Param Change CI Lower CI Upper
algorithm_benches algorithm_sampling_single_known_length 2.559% 0.373% 5.252%
sampling sampling_single_l_reservoir_entities 2.519% 0.907% 4.454%
sample_entity sample_entity_multi_property_indexed 1000 -1.596% -2.399% -0.950%
counts multi_property_unindexed_entities -1.510% -2.478% -0.874%
indexing query_people_count_multiple_individually_indexed_properties_enti -1.450% -1.856% -0.905%
indexing with_query_results_multiple_individually_indexed_properties_enti 1.218% 0.799% 1.573%
sampling sampling_multiple_known_length_entities 1.207% 0.664% 1.818%
indexing with_query_results_single_indexed_property_entities 1.137% 0.680% 1.525%
examples example-basic-infection -1.115% -1.623% -0.645%
sample_entity sample_entity_whole_population 1000 -1.051% -1.582% -0.502%
sampling sampling_multiple_l_reservoir_entities 1.035% 0.164% 2.403%
examples example-births-deaths -1.034% -1.483% -0.599%
large_dataset bench_filter_unindexed_entity 0.931% -2.409% 4.545%
sample_entity sample_entity_single_property_indexed 100000 -0.698% -1.189% -0.236%
indexing with_query_results_indexed_multi-property_entities 0.667% 0.469% 0.867%
sample_entity sample_entity_single_property_unindexed 10000 -0.589% -1.974% 0.950%
indexing query_people_count_single_indexed_property_entities -0.546% -0.803% -0.334%
algorithm_benches algorithm_sampling_single_l_reservoir -0.528% -1.054% -0.091%
counts single_property_unindexed_entities -0.490% -1.878% 0.559%
large_dataset bench_filter_indexed_entity -0.447% -2.160% 1.353%
algorithm_benches algorithm_sampling_multiple_l_reservoir 0.400% -0.018% 0.867%
sampling sampling_single_unindexed_entities 0.351% 0.064% 0.723%
large_dataset bench_query_population_indexed_property_entities 0.246% -0.141% 0.771%
counts reindex_after_adding_more_entities 0.237% -0.102% 0.631%
large_dataset bench_match_entity 0.188% -0.123% 0.578%
counts index_after_adding_entities 0.179% -0.125% 0.447%
algorithm_benches algorithm_sampling_multiple_known_length 0.178% -0.203% 0.691%
large_dataset bench_query_population_property_entities 0.174% -0.311% 0.826%
sample_entity sample_entity_single_property_unindexed 100000 -0.137% -0.547% 0.302%
sampling sampling_multiple_unindexed_entities -0.133% -0.340% 0.036%
large_dataset bench_query_population_multi_unindexed_entities 0.069% -0.465% 0.685%
algorithm_benches algorithm_sampling_single_rand_reservoir -0.045% -0.167% 0.069%
sample_entity sample_entity_single_property_indexed 10000 -0.042% -0.744% 0.697%
Not Compared (no baseline yet)
Group Bench Reason
(none)

github-actions Bot added a commit that referenced this pull request Jul 28, 2026
@CDCgov CDCgov deleted a comment from github-actions Bot Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add second template for setup script

2 participants