{"id":19645303,"url":"https://github.com/yandex-cloud/yc-github-loadtesting-ci","last_synced_at":"2026-05-12T08:39:53.309Z","repository":{"id":256617258,"uuid":"820881809","full_name":"yandex-cloud/yc-github-loadtesting-ci","owner":"yandex-cloud","description":"Github Actions for Yandex Cloud Load Testing","archived":false,"fork":false,"pushed_at":"2024-09-26T16:32:08.000Z","size":67,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-01-09T20:46:41.188Z","etag":null,"topics":["ci","github-actions","load-testing","loadtesting","yandex-cloud"],"latest_commit_sha":null,"homepage":"https://yandex.cloud/en/docs/load-testing/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yandex-cloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-27T11:15:49.000Z","updated_at":"2024-09-26T16:32:12.000Z","dependencies_parsed_at":"2024-11-11T14:36:23.626Z","dependency_job_id":"99fb668e-a3b4-4313-b0a5-1aba72d5b6f7","html_url":"https://github.com/yandex-cloud/yc-github-loadtesting-ci","commit_stats":null,"previous_names":["yandex-cloud/yc-github-loadtesting-ci"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yandex-cloud%2Fyc-github-loadtesting-ci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yandex-cloud%2Fyc-github-loadtesting-ci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yandex-cloud%2Fyc-github-loadtesting-ci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yandex-cloud%2Fyc-github-loadtesting-ci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yandex-cloud","download_url":"https://codeload.github.com/yandex-cloud/yc-github-loadtesting-ci/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240952972,"owners_count":19884019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ci","github-actions","load-testing","loadtesting","yandex-cloud"],"created_at":"2024-11-11T14:33:15.832Z","updated_at":"2026-05-12T08:39:48.291Z","avatar_url":"https://github.com/yandex-cloud.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Actions for Yandex Cloud Load Testing service\n\n[USAGE EXAMPLE](.github/workflows/example.yml)\n\n[USAGE EXAMPLE WORKFLOW](https://github.com/yandex-cloud/yc-github-loadtesting-ci/actions/workflows/example.yml)\n\n**NOTE**: All actions require `auth-key-json` to authorize requests to Yandex Cloud services. Please check \u003ca href=\"https://yandex.cloud/en/docs/iam/operations/authorized-key/create#cli_1\" target=\"_blank\"\u003ethis documentation page\u003c/a\u003e for instructions how to create one.\n\n## Short reference\n\n* **test-suite** - execute multiple load tests sequentially\n* **agents-create** - create and start load testing agents using Yandex Cloud Compute VMs as a hosting (Compute is billed separately)\n* **agents-delete** - delete load testing agents\n* **test-single-run** - execute a single load test\n* **test-single-check** - check results of a single load test\n\n## Action: `test-suite`\n```yaml\nuses: yandex-cloud/yc-github-loadtesting-ci/test-suite@main\n```\n\nExecute and assess a bunch of tests in a single action step.\n\nEach test is specified by a separate directory containing:\n- `test-config.yaml` test configuration file\n- (optional) `meta.json` json file specifying test properties\n- (optional) additional test data files which will be transferred to the agent via `data-bucket`\n\nA list of directories containing `test-config.yaml` test configuration files should be provided via `test-directories` input parameter.\n\n**NOTE**: Why `data-bucket` is needed? Test data files often contain sensitive information such as access tokens and customer data. Using `data-bucket` as a proxy storage guarantees that this sensitive information never gets stored elsewhere.\n\n\u003c!--doc-begin-test-suite--\u003e\n### Inputs\n|Input|Description|Default|Required|\n|-----|-----------|-------|:------:|\n|`folder-id`|ID of a folder in Yandex Cloud.|n/a|yes|\n|`auth-key-json-base64`|\u003cp\u003eBASE64 encoded authorized key string in JSON format. This setting is preferred over \u003ccode\u003eauth-key-json\u003c/code\u003e.\u003c/p\u003e\u003cp\u003eThe action will perform all operations on behalf of a service account for which this authorized key was generated.\u003c/p\u003e\u003cp\u003eGiven a json file, encode it via command line \u003ccode\u003ebase64 \u0026lt;authorized_key.json \u0026gt;authorized_key.pem\u003c/code\u003e and add the content of result file to GitHub secrets.\u003c/p\u003e|n/a|no|\n|`auth-key-json`|\u003cp\u003eUse 'auth-key-json-base64'.\u003c/p\u003e\u003cp\u003eAn authorized key string in JSON format.\u003c/p\u003e\u003cp\u003eThe use of this parameter is discouraged because it can lead to unwanted logs obfuscation (see \u003ca href=\"https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions#naming-your-secrets\"\u003enaming your secrets\u003c/a\u003e).\u003c/p\u003e|``|no|\n|`action-log-level`|Action log level.|`NOTICE`|no|\n|`data-bucket`|\u003cp\u003eBucket used as a proxy storage to send arbitrary test data needed for test execution to agent.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eWARNING\u003c/strong\u003e:\u003cbr /\u003eCI service account (authorized via auth-key-json(-base64)) must be able to upload data to this bucket\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eWARNING2\u003c/strong\u003e:\u003cbr /\u003eagent service account must be able to download data from this bucket.\u003c/p\u003e|``|no|\n|`artifacts-bucket`|\u003cp\u003eBucket to store artifacts generated by agent during test execution.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eWARNING\u003c/strong\u003e:\u003cbr /\u003eagent service account must be able to upload data to this bucket.\u003c/p\u003e|``|no|\n|`test-directories`|A whitespace-separated list of directory paths containing test configuration files.|n/a|yes|\n|`agent-filter`|\u003cp\u003eA filter expression to select agents to execute tests.\u003c/p\u003e\u003cp\u003eExample:\u003cbr /\u003e  - 'name contains github' - agents with 'github' substring in name.\u003cbr /\u003e  - 'labels.workflow=$WORKFLOW_ID' - agents with label 'workflow' equals to $WORKFLOW_ID\u003c/p\u003e|`labels.workflow=${{ github.run_id }}`|no|\n|`add-description`|Specified string will be added to description of created tests.|`Run from GitHub Actions`|no|\n|`add-labels`|Specified labels will be added to label set of created tests. Format: 'key1=value1,key2=value2'.|`ci=github`|no|\n### Outputs\n|Output|Description|\n|------|-----------|\n|`test-ids`|IDs of performed tests.|\n|`test-infos-file`|File containing a JSON array of objects with information about performed tests.|\n|`test-infos`|JSON array of objects with information about performed tests.|\n|`execution-report-file`|Path to generated .md execution report file.|\n|`checks-report-file`|Path to generated .md checks report file.|\n|`artifacts-dir`|Action artifacts directory. If needed, save it using actions/upload_artifacts.|\n\u003c!--doc-end-test-suite--\u003e\n\n### Required roles\n- `loadtesting.loadTester` - to create and run the test\n- `storage.uploader` - to upload test data to Object Storage (required, if `data-bucket` is specified)\n\n### Example\n```yaml\n- uses: actions/checkout@v4\n- uses: yandex-cloud/yc-github-loadtesting-ci/test-suite@main\n  with:\n    folder-id: ${{ vars.YC_FOLDER_ID }}\n    auth-key-json-base64: ${{ secrets.YC_KEY_BASE64 }}\n    test-directories: |-\n      _impl/testdata/http-const-rps\n      _impl/testdata/https-const-rps\n```\n\n## Action: `agents-create`\n```yaml\nuses: yandex-cloud/yc-github-loadtesting-ci/agents-create@main\n```\n\nCreate agents alongside with Cloud Compute VMs to host them.\n  \nThis action is usually used used in pair with 'agents-delete' action.\n\n**NOTE**: For security reasons you should create new service account with 'loadtesting.generatorClient' role to assign to loadtesting agent (see `service-account-id` input below) \n\n\u003c!--doc-begin-agents-create--\u003e\n### Inputs\n|Input|Description|Default|Required|\n|-----|-----------|-------|:------:|\n|`folder-id`|ID of a folder in Yandex Cloud.|n/a|yes|\n|`auth-key-json-base64`|\u003cp\u003eBASE64 encoded authorized key string in JSON format. This setting is preferred over \u003ccode\u003eauth-key-json\u003c/code\u003e.\u003c/p\u003e\u003cp\u003eThe action will perform all operations on behalf of a service account for which this authorized key was generated.\u003c/p\u003e\u003cp\u003eGiven a json file, encode it via command line \u003ccode\u003ebase64 \u0026lt;authorized_key.json \u0026gt;authorized_key.pem\u003c/code\u003e and add the content of result file to GitHub secrets.\u003c/p\u003e|n/a|no|\n|`auth-key-json`|\u003cp\u003eUse 'auth-key-json-base64'.\u003c/p\u003e\u003cp\u003eAn authorized key string in JSON format.\u003c/p\u003e\u003cp\u003eThe use of this parameter is discouraged because it can lead to unwanted logs obfuscation (see \u003ca href=\"https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions#naming-your-secrets\"\u003enaming your secrets\u003c/a\u003e).\u003c/p\u003e|``|no|\n|`action-log-level`|Action log level.|`NOTICE`|no|\n|`count`|Number of agents to be created.|`1`|no|\n|`service-account-id`|\u003cp\u003eID of a service account to create agent VM with.\u003c/p\u003e\u003cp\u003eThe service account must have 'loadtesting.generatorClient' role.\u003c/p\u003e|``|no|\n|`vm-zone`|Compute zone to create agent VM in.|`ru-central1-d`|no|\n|`name-prefix`|\u003cp\u003eIf count=0, a name of created agent.\u003cbr /\u003eif count\u0026gt;0, a name prefix of created agents.\u003c/p\u003e|`onetime-ci-agent`|no|\n|`description`|Description of created agents.|`Create from Github Actions`|no|\n|`labels`|Labels of created agents. Format: 'key1=value1,key2=value2'.|`workflow=${{ github.run_id }}`|no|\n|`cli-args`|\u003cp\u003eAdditional command line arguments to be passed to \u003ccode\u003eyc loadtesting agent create\u003c/code\u003e\u003cbr /\u003e(see \u003ccode\u003eyc loadtesting agent create -h\u003c/code\u003e for more details).\u003c/p\u003e\u003cp\u003eOverride rules:\u003cbr /\u003e* '--zone ARG' overrides 'vm-zone' input parameter\u003cbr /\u003e* '--service-account-id ARG' overrides 'service-account-id' input parameter\u003cbr /\u003e* '--network-interface' overrides default network interface settings (which is - 1-to-1 NAT (dynamic public IP) in automatically chosen subnet)\u003cbr /\u003e* '--name ARG' overrides 'name-prefix' input parameter\u003cbr /\u003e* '--description ARG' overrides 'description' input parameter\u003cbr /\u003e* '--labels' overrides 'labels' input parameter\u003c/p\u003e|``|no|\n|`timeout`|\u003cp\u003eTime to wait for agents to become READY_FOR_TEST.\u003c/p\u003e\u003cp\u003eUsually, reaching this timeout means either missing permissions or invalid agent network settings.\u003c/p\u003e|`600`|no|\n### Outputs\n|Output|Description|\n|------|-----------|\n|`agent-ids`|IDs of created agents.|\n|`artifacts-dir`|Action artifacts directory. If needed, save it using actions/upload_artifacts.|\n\u003c!--doc-end-agents-create--\u003e\n\n### Required roles\n- `loadtesting.loadTester` - to create an agent\n- `compute.editor` - to create and start agent VM\n- `iam.serviceAccounts.user` - to assign service account to agent VM\n- `vpc.user` - to configure network interface on agent VM\n- `vpc.publicAdmin` - to configure public IP on agent VM (the default way, may be omitted if you know what you are doing)\n\n### Examples\n\n**Simple:**\n\n```yaml\n# - 2 CPU, 2 GB RAM\n# - one-to-one NAT in an automatically selected subnet\n\nuses: yandex-cloud/yc-github-loadtesting-ci/agents-create@main\nwith:\n  folder-id: ${{ vars.YC_FOLDER_ID }}\n  auth-key-json-base64: ${{ secrets.YC_KEY_BASE64 }}\n  service-account-id: ${{ vars.YC_LOADTESTING_SA_ID }}\n  labels: \"workflow=${{ github.run_id }}\"\n  # count: 1\n  # vm-zone: ru-central1-a\n```\n\n\u003cdetails\u003e\u003csummary\u003eCustom CPU and RAM settings:\u003c/summary\u003e\n\n```yaml\nuses: yandex-cloud/yc-github-loadtesting-ci/agents-create@main\nwith:\n  folder-id: ${{ vars.YC_FOLDER_ID }}\n  auth-key-json-base64: ${{ secrets.YC_KEY_BASE64 }}\n  service-account-id: ${{ vars.YC_LOADTESTING_SA_ID }}\n  labels: \"workflow=${{ github.run_id }}\"\n  cli-args: |-\n    --cores 2\n    --memory 2G\n  # count: 1\n  # vm-zone: ru-central1-a\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eCustom network settings:\u003c/summary\u003e\n\nThis version is essentially identical to `yc loadtesting agent create ${cli-args}`.\n\n```yaml\nuses: yandex-cloud/yc-github-loadtesting-ci/agents-create@main\nwith:\n  folder-id: ${{ vars.YC_FOLDER_ID }}\n  auth-key-json-base64: ${{ secrets.YC_KEY_BASE64 }}\n  cli-args: |-\n    --service-account-id \"${{ vars.YC_LOADTESTING_SA_ID }}\"\n    --labels \"workflow=${{ github.run_id }}\"\n    --cores 2\n    --memory 2G\n    --zone 'ru-central1-a'\n    --network-settings \"subnet-name=default-a,security-group-ids=${{ vars.YC_LOADTESTING_AGENT_SECURITY_GROUP_ID }}\"\n  # count: 1\n```\n\n\u003c/details\u003e\n\n## Action: `agents-delete`\n```yaml\nuses: yandex-cloud/yc-github-loadtesting-ci/agents-delete@main\n```\n\nDelete agents (and the VMs).\n\nThis action is usually used used in pair with 'agents-create' action.\n\n\u003c!--doc-begin-agents-delete--\u003e\n### Inputs\n|Input|Description|Default|Required|\n|-----|-----------|-------|:------:|\n|`folder-id`|ID of a folder in Yandex Cloud.|n/a|yes|\n|`auth-key-json-base64`|\u003cp\u003eBASE64 encoded authorized key string in JSON format. This setting is preferred over \u003ccode\u003eauth-key-json\u003c/code\u003e.\u003c/p\u003e\u003cp\u003eThe action will perform all operations on behalf of a service account for which this authorized key was generated.\u003c/p\u003e\u003cp\u003eGiven a json file, encode it via command line \u003ccode\u003ebase64 \u0026lt;authorized_key.json \u0026gt;authorized_key.pem\u003c/code\u003e and add the content of result file to GitHub secrets.\u003c/p\u003e|n/a|no|\n|`auth-key-json`|\u003cp\u003eUse 'auth-key-json-base64'.\u003c/p\u003e\u003cp\u003eAn authorized key string in JSON format.\u003c/p\u003e\u003cp\u003eThe use of this parameter is discouraged because it can lead to unwanted logs obfuscation (see \u003ca href=\"https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions#naming-your-secrets\"\u003enaming your secrets\u003c/a\u003e).\u003c/p\u003e|``|no|\n|`action-log-level`|Action log level.|`NOTICE`|no|\n|`agent-ids`|\u003cp\u003eA string containing whitespace-separated list of agents to be deleted.\u003c/p\u003e\u003cp\u003eNormally, should be used with conjunction with \u003ccode\u003eagents-create.outputs.agent-ids\u003c/code\u003e.\u003c/p\u003e|n/a|yes|\n### Outputs\n|Output|Description|\n|------|-----------|\n|`artifacts-dir`|Action artifacts directory. If needed, save it using actions/upload_artifacts.|\n\u003c!--doc-end-agents-delete--\u003e\n\n### Required roles\n- `loadtesting.loadTester` - to delete an agent\n- `compute.editor` - to stop and delete agent VM\n\n### Example\n\nThis action is usually used in pair with `agents-create` action:\n\n```yaml\nloadtesting:\n  name: loadtesting job\n  runs-on: ubuntu-latest\n  steps:\n    - id: create-agents\n      uses: yandex-cloud/yc-github-loadtesting-ci/agents-create@main\n      with:\n        folder-id: ${{ vars.YC_FOLDER_ID }}\n        auth-key-json-base64: ${{ secrets.YC_KEY_BASE64 }}\n        service-account-id: ${{ vars.YC_LOADTESTING_SA_ID }}\n    #\n    # here we run some tests on created agents\n    # - id: run-test\n    #   ...\n    #\n    - id: delete-agents\n      if: always() # make sure delete is called even if previous steps fail\n      uses: yandex-cloud/yc-github-loadtesting-ci/agents-delete@main\n      with:\n        folder-id: ${{ vars.YC_FOLDER_ID }}\n        auth-key-json-base64: ${{ secrets.YC_KEY_BASE64 }}\n\n        # pass created agent ids to make sure they are deleted\n        agent-ids: ${{ steps.agent-create.outputs.agent-ids }}\n```\n\n## Action: `test-single-run`\n```yaml\nuses: yandex-cloud/yc-github-loadtesting-ci/test-single-run@main\n```\n\nExecute a single test.\n\nEach test should be specified by a separate directory containing:\n- `test-config.yaml` test configuration file\n- (optional) `meta.json` json file specifying test properties\n- (optional) additional test data files which will be transferred to the agent via `data-bucket` \n\nA directory containing `test-config.yaml` test configuration file should be provided via `test-directory` input parameter.\n\n**NOTE**: Why `data-bucket` is needed? Test data files often contain sensitive information such as access tokens and customer data. Using `data-bucket` as a proxy storage guarantees that this sensitive information never gets stored elsewhere.\n\n\u003c!--doc-begin-test-single-run--\u003e\n### Inputs\n|Input|Description|Default|Required|\n|-----|-----------|-------|:------:|\n|`folder-id`|ID of a folder in Yandex Cloud.|n/a|yes|\n|`auth-key-json-base64`|\u003cp\u003eBASE64 encoded authorized key string in JSON format. This setting is preferred over \u003ccode\u003eauth-key-json\u003c/code\u003e.\u003c/p\u003e\u003cp\u003eThe action will perform all operations on behalf of a service account for which this authorized key was generated.\u003c/p\u003e\u003cp\u003eGiven a json file, encode it via command line \u003ccode\u003ebase64 \u0026lt;authorized_key.json \u0026gt;authorized_key.pem\u003c/code\u003e and add the content of result file to GitHub secrets.\u003c/p\u003e|n/a|no|\n|`auth-key-json`|\u003cp\u003eUse 'auth-key-json-base64'.\u003c/p\u003e\u003cp\u003eAn authorized key string in JSON format.\u003c/p\u003e\u003cp\u003eThe use of this parameter is discouraged because it can lead to unwanted logs obfuscation (see \u003ca href=\"https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions#naming-your-secrets\"\u003enaming your secrets\u003c/a\u003e).\u003c/p\u003e|``|no|\n|`action-log-level`|Action log level.|`NOTICE`|no|\n|`data-bucket`|\u003cp\u003eBucket used as a proxy storage to send arbitrary test data needed for test execution to agent.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eWARNING\u003c/strong\u003e:\u003cbr /\u003eCI service account (authorized via auth-key-json(-base64)) must be able to upload data to this bucket\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eWARNING2\u003c/strong\u003e:\u003cbr /\u003eagent service account must be able to download data from this bucket.\u003c/p\u003e|``|no|\n|`artifacts-bucket`|\u003cp\u003eBucket to store artifacts generated by agent during test execution.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eWARNING\u003c/strong\u003e:\u003cbr /\u003eagent service account must be able to upload data to this bucket.\u003c/p\u003e|``|no|\n|`test-directory`|A path to a directory containing test configuration files.|n/a|yes|\n|`agent-filter`|\u003cp\u003eA filter expression to select agents to execute tests.\u003c/p\u003e\u003cp\u003eExample:\u003cbr /\u003e  - 'name contains github' - agents with 'github' substring in name.\u003cbr /\u003e  - 'labels.workflow=$WORKFLOW_ID' - agents with label 'workflow' equals to $WORKFLOW_ID\u003c/p\u003e|`labels.workflow=${{ github.run_id }}`|no|\n|`add-description`|Specified string will be added to description of created tests.|`Run from GitHub Actions`|no|\n|`add-labels`|Specified labels will be added to label set of created tests. Format: 'key1=value1,key2=value2'.|`ci=github`|no|\n### Outputs\n|Output|Description|\n|------|-----------|\n|`test-id`|ID of performed test.|\n|`test-info-file`|File containing a JSON object with information about performed test.|\n|`test-info`|JSON object with information about performed test.|\n|`report-file`|Path to generated .md report file.|\n|`artifacts-dir`|Action artifacts directory. If needed, save it using actions/upload_artifacts.|\n\u003c!--doc-end-test-single-run--\u003e\n\n### Required roles\n- `loadtesting.loadTester` - to create and run the test\n- `storage.uploader` - to upload test data to Object Storage (required, if `data-bucket` is specified)\n\n### Example\n```yaml\n- uses: actions/checkout@v4\n- uses: yandex-cloud/yc-github-loadtesting-ci/test-run-single@main\n  with:\n    folder-id: ${{ vars.YC_FOLDER_ID }}\n    auth-key-json-base64: ${{ secrets.YC_KEY_BASE64 }}\n    test-directory: _impl/testdata/https-const-rps\n```\n\n## Action: `test-single-check`\n```yaml\nuses: yandex-cloud/yc-github-loadtesting-ci/test-single-check@main\n```\n\nAssess results measured in a single test run.\n\nThe assessment is performed via custom scripts (`check_summary.sh` and `check_report.sh`) which can be added to test directory:\n```sh\nTEST_ID=\"bb4asdfjljbhh\" # some test id\nTEST_DIR=\"_impl/testdata/http-const-rps\" # test-directory\n\nyc --format json loadtesting test get $TEST_ID \u003e summary.json\nyc --format json loadtesting test get-report-tables $TEST_ID \u003e report.json\n\nset -e\n$DIR/check_summary.sh summary.json\n$DIR/check_report.sh report.json\n```\n\nIf `check_report.sh` or `check_summary.sh` are not found in test directory, some basic checks will be performed instead.\n\n\u003c!--doc-begin-test-single-check--\u003e\n### Inputs\n|Input|Description|Default|Required|\n|-----|-----------|-------|:------:|\n|`folder-id`|ID of a folder in Yandex Cloud.|n/a|yes|\n|`auth-key-json-base64`|\u003cp\u003eBASE64 encoded authorized key string in JSON format. This setting is preferred over \u003ccode\u003eauth-key-json\u003c/code\u003e.\u003c/p\u003e\u003cp\u003eThe action will perform all operations on behalf of a service account for which this authorized key was generated.\u003c/p\u003e\u003cp\u003eGiven a json file, encode it via command line \u003ccode\u003ebase64 \u0026lt;authorized_key.json \u0026gt;authorized_key.pem\u003c/code\u003e and add the content of result file to GitHub secrets.\u003c/p\u003e|n/a|no|\n|`auth-key-json`|\u003cp\u003eUse 'auth-key-json-base64'.\u003c/p\u003e\u003cp\u003eAn authorized key string in JSON format.\u003c/p\u003e\u003cp\u003eThe use of this parameter is discouraged because it can lead to unwanted logs obfuscation (see \u003ca href=\"https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions#naming-your-secrets\"\u003enaming your secrets\u003c/a\u003e).\u003c/p\u003e|``|no|\n|`action-log-level`|Action log level.|`NOTICE`|no|\n|`test-id`|ID of a test to be checked.|n/a|yes|\n|`test-directory`|Directory with test configuration files.|n/a|yes|\n### Outputs\n|Output|Description|\n|------|-----------|\n|`raw-output`|Raw stdout of a check script.|\n|`report-file`|Path to generated .md report file.|\n|`artifacts-dir`|Action artifacts directory. If needed, save it using actions/upload_artifacts.|\n\u003c!--doc-end-test-single-check--\u003e\n\n### Required roles\n- `loadtesting.loadTester` - to retrieve information about the test\n\n### Example\n```yaml\n- uses: actions/checkout@v4\n- uses: yandex-cloud/yc-github-loadtesting-ci/test-run-single@main\n  id: run-test\n  with:\n    folder-id: ${{ vars.YC_FOLDER_ID }}\n    auth-key-json-base64: ${{ secrets.YC_KEY_BASE64 }}\n    test-directory: _impl/testdata/https-const-rps\n- uses: yandex-cloud/yc-github-loadtesting-ci/test-check-single@main\n  with:\n    folder-id: ${{ vars.YC_FOLDER_ID }}\n    auth-key-json-base64: ${{ secrets.YC_KEY_BASE64 }}\n    test-id: ${{ steps.run-test.outputs.test-id }}\n    test-directory: _impl/testdata/https-const-rps\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyandex-cloud%2Fyc-github-loadtesting-ci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyandex-cloud%2Fyc-github-loadtesting-ci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyandex-cloud%2Fyc-github-loadtesting-ci/lists"}