-
Notifications
You must be signed in to change notification settings - Fork 138
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
557 changed files
with
8,673 additions
and
3,622 deletions.
There are no files selected for viewing
This file contains 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 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 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,101 @@ | ||
## | ||
# Copyright (C) 2023-2024 Hedera Hashgraph, LLC | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
## | ||
|
||
name: "ZXF: Extended Test Suite - Dry Run" | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
commit_sha: | ||
required: true | ||
description: 'The commit sha to check out' | ||
branch_name: | ||
required: true | ||
description: 'The branch name, for JRS Panel output' | ||
|
||
permissions: | ||
id-token: write | ||
actions: write | ||
pull-requests: write | ||
statuses: write | ||
checks: write | ||
contents: read | ||
|
||
defaults: | ||
run: | ||
shell: bash | ||
|
||
jobs: | ||
extended-test-suite: | ||
name: Execute eXtended Test Suite | ||
uses: ./.github/workflows/node-zxc-compile-application-code.yaml | ||
with: | ||
custom-job-label: Execute eXtended Test Suite | ||
enable-timing-sensitive-tests: true | ||
enable-time-consuming-tests: true | ||
enable-hammer-tests: true | ||
enable-hapi-tests-time-consuming: true | ||
enable-network-log-capture: true | ||
ref: ${{ inputs.commit_sha }} | ||
secrets: | ||
access-token: ${{ secrets.GITHUB_TOKEN }} | ||
gradle-cache-username: ${{ secrets.GRADLE_CACHE_USERNAME }} | ||
gradle-cache-password: ${{ secrets.GRADLE_CACHE_PASSWORD }} | ||
|
||
abbreviated-panel: | ||
name: JRS Panel | ||
uses: ./.github/workflows/zxc-jrs-regression.yaml | ||
with: | ||
custom-job-name: "Platform SDK" | ||
panel-config: "configs/suites/GCP-PRCheck-Abbrev-4N.json" | ||
ref: ${{ inputs.commit_sha }} | ||
branch-name: ${{ inputs.branch_name }} | ||
base-branch-name: ${{ inputs.branch_name }} | ||
slack-results-channel: "regression-test" | ||
slack-summary-channel: "regression-test" | ||
use-branch-for-slack-channel: false | ||
secrets: | ||
access-token: ${{ secrets.PLATFORM_GH_ACCESS_TOKEN }} | ||
gradle-cache-username: ${{ secrets.GRADLE_CACHE_USERNAME }} | ||
gradle-cache-password: ${{ secrets.GRADLE_CACHE_PASSWORD }} | ||
jrs-ssh-user-name: ${{ secrets.PLATFORM_JRS_SSH_USER_NAME }} | ||
jrs-ssh-key-file: ${{ secrets.PLATFORM_JRS_SSH_KEY_FILE }} | ||
gcp-project-number: ${{ secrets.PLATFORM_GCP_PROJECT_NUMBER }} | ||
gcp-sa-key-contents: ${{ secrets.PLATFORM_GCP_KEY_FILE }} | ||
slack-api-token: ${{ secrets.PLATFORM_SLACK_API_TOKEN }} | ||
grafana-agent-username: ${{ secrets.GRAFANA_AGENT_USERNAME }} | ||
grafana-agent-password: ${{ secrets.GRAFANA_AGENT_PASSWORD }} | ||
|
||
hedera-node-jrs-panel: | ||
name: Hedera Node JRS Panel | ||
uses: ./.github/workflows/zxc-jrs-regression.yaml | ||
with: | ||
custom-job-name: "Abbrev Update Test" | ||
ref: ${{ inputs.commit_sha }} | ||
branch-name: ${{ inputs.branch_name }} | ||
hedera-tests-enabled: true | ||
use-branch-for-slack-channel: false | ||
panel-config: "configs/services/suites/daily/GCP-Daily-Services-Abbrev-Update-4N-2C.json" | ||
secrets: | ||
access-token: ${{ secrets.PLATFORM_GH_ACCESS_TOKEN }} | ||
jrs-ssh-user-name: ${{ secrets.PLATFORM_JRS_SSH_USER_NAME }} | ||
jrs-ssh-key-file: ${{ secrets.PLATFORM_JRS_SSH_KEY_FILE }} | ||
gcp-project-number: ${{ secrets.PLATFORM_GCP_PROJECT_NUMBER }} | ||
gcp-sa-key-contents: ${{ secrets.PLATFORM_GCP_KEY_FILE }} | ||
slack-api-token: ${{ secrets.PLATFORM_SLACK_API_TOKEN }} | ||
gradle-cache-username: ${{ secrets.GRADLE_CACHE_USERNAME }} | ||
gradle-cache-password: ${{ secrets.GRADLE_CACHE_PASSWORD }} | ||
grafana-agent-username: ${{ secrets.GRAFANA_AGENT_USERNAME }} | ||
grafana-agent-password: ${{ secrets.GRAFANA_AGENT_PASSWORD }} |
This file contains 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,62 @@ | ||
# Continuous Integration Test Overview and Best Practices | ||
|
||
The series of workflows that make up the Continuous Integration Testing and Release (CITR) process are intended | ||
to drive rapid development and release of code within the Hedera Hashgraph services and platform codebase. This | ||
document aims to define key terms associated with CITR and to provide best practices for developers and | ||
maintainers as they introduce new code to the `hedera-services` repository. | ||
|
||
## Definitions | ||
|
||
- **CITR** - Continuous Integration Test and Release | ||
- **MATS** - Minimal Acceptable Test Suite | ||
- **PR** - Pull Request | ||
- **XTS** - eXtended Test Suite | ||
|
||
## Phase 1 - Launch CITR, Enable MATS, Enable XTS | ||
|
||
The first phase of the CITR implementation focuses entirely on the introduction of the CITR workflow set. It brings in | ||
two major components of CITR: MATS and XTS. | ||
|
||
MATS is the Minimal Acceptable Test Suite; this suite of tests is run against every pull request (PR) that is opened in | ||
the `hashgraph/hedera-services` repository. | ||
|
||
XTS is the eXtended Test Suite; this suite of tests is run against the latest commit on the develop branch every three | ||
hours (provided there is a new commit to run against). | ||
|
||
MATS tests are inclusive of a series of unit tests and performance tests that must be executed against a PR branch prior | ||
to merging into develop. The MATS tests are intended to complete within a 30-minute time window to provide developers | ||
with valuable insight of the impact of new code on the default branch. | ||
|
||
XTS tests are run against the default branch once every three hours. These cover test cases that are unable to complete | ||
within a 30-minute window but which are still necessary to derive if a commit should be considered as a build | ||
candidate. XTS are intended to complete within a given 3-hour window. These tests are described by the | ||
`ZXCron: Extended Test Suite` workflow. | ||
|
||
### Dry-Running XTS Tests | ||
|
||
There is an additional workflow: `ZXF: Extended Test Suite - Dry Run` which is available for use within the | ||
`hashgraph/hedera-services` repository. | ||
|
||
The XTS Dry-Run workflow runs a provided commit on any branch through the same XTS tests that would be run against the | ||
latest on develop every three hours. This workflow is run with a manual trigger and will execute in parallel to any | ||
other actions ongoing in the `hashgraph/hedera-services` repository. | ||
|
||
A developer can manually trigger a run using the parameters in the web UI: | ||
|
||
```text | ||
Use Workflow From | ||
Branch: develop # this should always be `develop` | ||
The commit sha to check out | ||
<your current commit hash> | ||
The branch name, for JRS Panel output | ||
<your branch name> | ||
``` | ||
|
||
Or manually using the github CLI: | ||
|
||
```bash | ||
cd ${REPO_ROOT}/hedera-services | ||
gh workflow run ./.github/workflows/zxf-dry-run-extended-test-suite.yaml -f commit_sha=`git rev-parse HEAD` -f branch_name='<branch_name>' | ||
``` | ||
|
||
**Every developer is encouraged to run the XTS Dry-Run workflow against their branch commits prior to merging a PR to default**. |
This file contains 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
Oops, something went wrong.