Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/check-controller-build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ inputs:
description: "Where is the workshop repository to check for workshop updates"
required: true
ci-target-directory:
descriptiopn: "Where is the current CI target repository to check for controller image related changes"
description: "Where is the current CI target repository to check for controller image related changes"
required: true
outputs:
build-controller:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ else
echo "Files changed:"
${diff_cmd}
if [ $? != 0 ]; then
error "could not obtian git-diff output"
error "could not obtain git-diff output"
fi
echo

Expand Down Expand Up @@ -123,8 +123,9 @@ else
else
error "Required history not available for CI target directory '${ci_target_directory}'"
fi
popd
else
error "Failed to pushd to CI target directory '${ci_target_directory}"
error "Failed to pushd to CI target directory '${ci_target_directory}'"
fi
fi
fi
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/check-controller-build/validate-inputs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ function usage() {
echo "<bypass-controller-build> is a yes|no value"
echo "<force-controller-build> is a yes|no value"
echo "<crucible> is a directory where the crucible repository exists."
echo "<workshop> is a directory where the workshop repoistory exists."
echo "<workshop> is a directory where the workshop repository exists."
echo "<ci-target> is a directory where the current CI target repository exists."
echo
echo "If <bypass-controller-build> is 'yes' then the action short circuits and returns 'no'"
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/common-code/common-code.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ function validate_ci_endpoint {
}

function do_ssh {
ssh -o PasswordAuthentication=no $@
ssh -o PasswordAuthentication=no "$@"
}

# Run command on endpoint - use direct execution for localhost, SSH otherwise
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/get-releases/generate-release-list.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ if pushd ${crucible_directory}; then
else
# history is not available

echo "INFO: Required history not availble, assuming no changes to installer script"
echo "INFO: Required history not available, assuming no changes to installer script"
fi

popd
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/install-crucible/install-crucible.sh
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ if [ "${CI_CONTROLLER}" == "yes" -a "${DISABLE_FORCE_BUILDS}" == "no" ]; then
FORCE_BUILDS="true"
echo "Updating rickshaw-settings value workshop.force-builds to '${FORCE_BUILDS}' in ${RICKSHAW_SETTINGS_FILE}"

# handle backwards copmatibility to when force_builds was a string
# handle backwards compatibility to when force_builds was a string
# instead of a boolean
jq_argument_type=argjson
case "${RELEASE_TAG}" in
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/integration-tests/run-ci-stage1
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ function post_run_cmd {
FORCE_BUILDS="false"
echo "Updating rickshaw-settings value workshop.force-builds to '${FORCE_BUILDS}' in ${RICKSHAW_SETTINGS_FILE}"

# handle backwards copmatibility to when force_builds was a
# handle backwards compatibility to when force_builds was a
# string instead of a boolean
jq_argument_type=argjson
case "${CI_RELEASE}" in
Expand Down
2 changes: 1 addition & 1 deletion .github/rulesets/README.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
The files stored here are for documentation / tracking purposes only. They must be loaded into the GitHub web GUI to be "active" -- there presence here does not result in any behavioral changes by GitHub.
The files stored here are for documentation / tracking purposes only. They must be loaded into the GitHub web GUI to be "active" -- their presence here does not result in any behavioral changes by GitHub.
2 changes: 1 addition & 1 deletion .github/workflows/core-endpoint-crucible-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ jobs:
ENGINE_REGISTRY_AUTH_SECRET: ${{ secrets.production_registry_auth }}
if: ${{ env.ENGINE_REGISTRY_AUTH_SECRET != '' }}
run: sudo bash -c "echo \"$ENGINE_REGISTRY_AUTH_SECRET\" > /root/crucible-production-engines-token.json"
- name: import quay oath token
- name: import quay oauth token
env:
QUAY_OAUTH_TOKEN: ${{ secrets.quay_oauth_token }}
if: ${{ env.QUAY_OAUTH_TOKEN != '' }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/core-release-crucible-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ jobs:
if: ${{ needs.gen-params.outputs.build_controller == 'yes' && env.ENGINE_REGISTRY_AUTH_SECRET != '' }}
run: sudo bash -c "echo \"$ENGINE_REGISTRY_AUTH_SECRET\" > /root/crucible-production-engines-token.json"

- name: import quay oath token
- name: import quay oauth token
env:
QUAY_OAUTH_TOKEN: ${{ secrets.quay_oauth_token }}
if: ${{ needs.gen-params.outputs.build_controller == 'yes' && env.QUAY_OAUTH_TOKEN != '' }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/endpoint-crucible-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ jobs:
ENGINE_REGISTRY_AUTH_SECRET: ${{ secrets.production_registry_auth }}
if: ${{ env.ENGINE_REGISTRY_AUTH_SECRET != '' }}
run: sudo bash -c "echo \"$ENGINE_REGISTRY_AUTH_SECRET\" > /root/crucible-production-engines-token.json"
- name: import quay oath token
- name: import quay oauth token
env:
QUAY_OAUTH_TOKEN: ${{ secrets.quay_oauth_token }}
if: ${{ env.QUAY_OAUTH_TOKEN != '' }}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test-benchmark-crucible-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jobs:
with:
files: |
LICENSE
.gitignore
*.md
**/*.md
.github/rulesets/**
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test-core-crucible-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jobs:
with:
files: |
LICENSE
.gitignore
*.md
**/*.md
.github/rulesets/**
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test-tool-crucible-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jobs:
with:
files: |
LICENSE
.gitignore
*.md
**/*.md
.github/rulesets/**
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Introduction

Crucible-CI is a Continuous Integration (CI) testing harness targeted at the [Crucible](https://github.com/perftool-incubator/crucible) performance automation and analysis framework. Crucible is comprised of [many subprojects](https://github.com/perftool-incubator/crucible#subprojects) with each subproject having it's own repository. As such, the primary goal of Crucible-CI is to be able to perform integration testing of a given subproject when changes to it are proposed via a pull request.
Crucible-CI is a Continuous Integration (CI) testing harness targeted at the [Crucible](https://github.com/perftool-incubator/crucible) performance automation and analysis framework. Crucible is comprised of [many subprojects](https://github.com/perftool-incubator/crucible#subprojects) with each subproject having its own repository. As such, the primary goal of Crucible-CI is to be able to perform integration testing of a given subproject when changes to it are proposed via a pull request.

What this means is that when a pull request is submitted for a project that is a member of the Crucible family a working Crucible installation is created using the primary branch of all the other repositories and the proposed code for the specific repository that the pull request is for. This installation is then used to perform integration testing of the pull request's changes combined with all of the other project's current upstream code.

Expand Down Expand Up @@ -80,7 +80,7 @@ These actions are where actual Crucible testing is performed.

The [integration-tests](.github/actions/integration-tests) action is where, as the name implies, the integration testing is performed. This action has several different possible inputs, but all of them are optional. By default it will run a very simple integration test based on the default values. By specifying one or more of the available inputs the action can be "tuned" for the type of testing that is desired in the calling workflow.

The integration test is comprised of multiple shell scripts that perform different actions. Some of these scripts are usually specific to the GitHub runner environment, such as [setup-ci-environment](.github/actions/integration-tests/setup-ci-environment) (since it performs a custon install of Crucible), while others can be used outside of the Github runner environment to perform testing in a development environment with an existing running Crucible installation. An example of this is the use of [run-ci-stage1](.github/actions/integration-tests/run-ci-stage1) (which is the actual "test" in this action, the other scripts are primarily for setup and reporting) by the Crucible [`run-ci`](https://github.com/perftool-incubator/crucible/blob/bcdde354c751baff60f8cb9d68203113ec4c3439/bin/_help#L48) command.
The integration test is comprised of multiple shell scripts that perform different actions. Some of these scripts are usually specific to the GitHub runner environment, such as [setup-ci-environment](.github/actions/integration-tests/setup-ci-environment) (since it performs a custom install of Crucible), while others can be used outside of the GitHub runner environment to perform testing in a development environment with an existing running Crucible installation. An example of this is the use of [run-ci-stage1](.github/actions/integration-tests/run-ci-stage1) (which is the actual "test" in this action, the other scripts are primarily for setup and reporting) by the Crucible [`run-ci`](https://github.com/perftool-incubator/crucible/blob/bcdde354c751baff60f8cb9d68203113ec4c3439/bin/_help#L48) command.

### Workflows

Expand Down
Loading