dawidniezgodka/Input Validator

An action encapsulating the Validation Step of the CB-Framework

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stalelast commit Jan 8, 2024
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: dawidniezgodka/inputvalidator@5e444531cb78f7f710576a1730cc562334d0f250 # no releases — HEAD as of 2026-07-11

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
bench_dirIf the benchmark-related files and folders are in a subdirectory of the repository, please specify its name here. If the value is specified, the assumption will be made that the directory the value points to contains both ansible and terraform folders. The main idea behind this input is that you don't have to prepend all the paths with the directory name. If you don't want this behaviour, you can use the snr_directory and infra_directory inputs. no
number_of_metrics_to_evaluateThe number of metrics that will be evaluated no
infra_instance_meta_public_keyThe public key that will be added to the instance. The private part will be used to enable SSH access to the instance and execute Ansible commands (the private key must be set using secrets). yes
infra_custom_inventory_file_pathWhether to use custom Terraform inventory file. noterraform/templates/hosts.tpl
infra_vars_file_pathPath to Terraform variables file (.tfvars). yes
infra_variablesA multiline string of Terraform variables (key-value pairs).no""
infra_destroy_after_runWhether to destroy the infrastructure after the benchmark is finished. If this input is set to true, the infrastructure will be destroyed regardless of the benchmark result. nofalse
infra_lock_idIf you received an error message that the state file is locked, you can use this input to unlock it. Please provide the lock id that was given to you in the error message. no
infra_extra_file_uploaded_nameExtra file for deploy step. The file will be downloaded to the root of the repository using download-artifact action. This input related to the name of the uploaded artifact. no
infra_extra_file_nameExtra file for deploy step. The file will be downloaded to the root of the repository using download-artifact action. no
infra_extra_file_target_pathIndicates where the extra file shall be moved. no
snr_existing_config_pathPath to the existing Ansible configuration file. If this input is provided, the default config won't be created and your configuration will be added to the ANSIBLE_CONFIG env variable. no
snr_def_cfg_dirPath to the directory where the default Ansible configuration will be created. noansible
snr_def_cfg_file_nameThe name of the default Ansible configuration file. noansible.cfg
snr_def_cfg_inventory_file_pathThe default inventory file path for Ansible. nohosts.cfg
snr_def_cfg_privilege_escalationThe default privilege escalation for Ansible. no
snr_def_cfg_private_key_file_pathThe private key file path for Ansible that will be added to the default configuration.
snr_def_cfg_host_checkingThe default host checking for Ansible. no
snr_directoryRelative path to the Ansible directory. noansible
snr_playbook_directoryRelative path to the directory where playbooks that represent different benchmark phases are stored. noplaybooks
snr_execution_orderThe order in which the framework will execute the Ansible playbooks. yes
snr_requirementsPath to Ansible requirements file. no
snr_extra_options_stringA list of extra options to be passed to Ansible. Please read the docs to learn more about the format and the way of escaping secrets and environment variables. no
snr_extra_options_fileA .yml file with extra options to be passed to Ansible. Please read the docs to learn more about the format and the way of escaping secrets and environment variables. no
snr_extra_file_uploaded_nameExtra file for the setup and run step. The file will be downloaded to the root of the repository using download-artifact action. This input related to the name of the uploaded artifact. no
snr_extra_file_nameExtra file for the setup and run step. The file will be downloaded to the root of the repository using download-artifact action. no
snr_extra_file_target_pathIndicates where the extra file shall be moved. no
eval_bench_group_nameThe name of a specific benchmark. The name will be appended to the data where all the benchmark results are stored. The name can be used to change graphs and compare results. noBenchmark
eval_metrics_to_evaluateThe metrics that will be evaluated. no
eval_branch_with_bench_dataThe name of the branch that contains the benchmark data. nobench_data
eval_previous_data_storage_folderThe first use of this variable is in step called "Checkout the branch with previous bench res to a given folder". Thus, it is used to specify the folder where the previous benchmark data will be checked out. Afterward, in the logic of the BenchEval action, the folder and the file (file_with_previous_bench_data) are used to specify the location where the current benchmark data will be appended so that it can be saved by executing the step "Save the current benchmark to the file with all bench data". nobench_data
eval_file_with_previous_bench_dataThe name of the file that contains the previous benchmark data. This file will be also used to append the current benchmark data. See the description of the previous_data_storage_folder variable for more details. nodata.json
eval_bucket_results_folder_pathThe path to the GCP bucket folder that contains the benchmark results. no
eval_bucket_result_file_pathThe path to the file that contains the benchmark result in the GCP bucket. no
eval_local_download_path_for_resultsThe path to the local folder where the benchmark results will be downloaded. noresults
eval_save_current_bench_resSave the benchmark data pointed to by current_bench_res_file to a file located in benchmark_data_file'. notrue
eval_add_action_page_job_summaryLeave a job summary with benchmark result comparison in the actions tab of a repo.noon
eval_link_to_templated_gh_page_with_resultsThe link to the GitHub page with the templated benchmark results. no
eval_comparison_marginsDescribes by how much percentage a given value can deviate from the desired value (threshold or prev) to still qualify the benchmark as successful. If you have selected range as one of the modes in the above set of modes, and it is not the only function, please provide values of -1 for the remaining functions. For example, if you previously entered: smaller, smaller, range, and your range is 20%, this input should look as follows: "-1, -1, 20"
eval_failing_conditionnoany
eval_bench_group_to_compareThe name of the benchmark that will be compared to the current benchmark. no
eval_action_page_job_summaryLeave a short summary on the workflow page. Possible values are on, off, if_failed.noon
eval_evaluation_methodThe method that will be used to evaluate the benchmark. The possible values are 'previous', 'previous_successful', 'threshold', 'jump_detection', 'trend_detection_moving_ave', 'threshold_range', 'trend_detection_deltas' yes
eval_threshold_valuesComma-separated list of threshold values for comparison.no
eval_comparison_operatorsComma-separated list of operators for threshold comparison. The possible values are smaller, bigger, and tolerance. no
eval_alert_users_if_bench_failedCommas-separated list of users to alert if the benchmark failed. no
eval_comment_to_commitAdd commit comment with the detailed benchmark info. Possible values are on, off, if_failed. noif_failed
eval_threshold_upperComma-separated list of upper threshold values for range comparison.no
eval_threshold_lowerComma-separated list of lower threshold values for range comparison.no
eval_jump_detection_thresholdsThe threshold values for jump detection.no
eval_trend_thresholdsThe threshold value for both deltas trend detection and moving average.no
eval_moving_ave_window_sizeThe window size for moving average trend detection.no
eval_trend_det_no_sufficient_data_strategyThe strategy to use when there is not enough data to perform trend detection. The possible values are use_available and fail. nouse_available
eval_trend_det_successful_release_branchThe name of the branch that contains the successful benchmark result in a release branch. If not specified, the main branch will be used. nomain
eval_extra_file_uploaded_nameExtra file for the eval step. The file will be downloaded to the root of the repository using download-artifact action. This input related to the name of the uploaded artifact. no
eval_extra_file_nameExtra file for the eval step. The file will be downloaded to the root of the repository using download-artifact action. no
eval_extra_file_target_pathIndicates where the extra file shall be moved. no
eval_result_files_merge_strategy_for_each_metricThe strategy to use when merging the the benchmark results from the downloaded folder. This should be a comma separated list of strategies. Each strategy corresponds to a metric. The possible values are: sum, average, max, min, median. no

no outputs