add ability to: 1 add annotations to headless service; 2 define ports… #302
Workflow file for this run
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
name: Test Charts (Install) | |
on: | |
pull_request: | |
branches: | |
- main | |
jobs: | |
test-install: | |
runs-on: ubuntu-8 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Helm | |
uses: azure/setup-helm@v3 | |
with: | |
version: v3.14.0 | |
- name: Set up chart-testing | |
uses: helm/[email protected] | |
- name: Create kind cluster | |
uses: helm/[email protected] | |
- name: Run chart-testing (list-changed) | |
id: list-changed | |
run: | | |
changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }} --config ct.yaml) | |
if [[ -n "$changed" ]]; then | |
echo "changed=true" >> "$GITHUB_OUTPUT" | |
fi | |
- name: Prepare CI secrets for Helm as a single quoted string | |
if: steps.list-changed.outputs.changed == 'true' | |
env: | |
CI_TEST_ACCOUNT_PRIVATE_KEY: ${{ secrets.CI_TEST_ACCOUNT_PRIVATE_KEY }} | |
CI_PARENT_CHAIN_URL_SEPOLIA: ${{ secrets.CI_PARENT_CHAIN_URL_SEPOLIA }} | |
CI_BASELINE_RPC_KEY_SEPOLIA: ${{ secrets.CI_BASELINE_RPC_KEY_SEPOLIA }} | |
CI_PARENT_CHAIN_BLOB_CLIENT_URL: ${{ secrets.CI_PARENT_CHAIN_BLOB_CLIENT_URL }} | |
# Map additional secrets as needed | |
run: | | |
secrets_for_helm="" | |
# Capture all 'CI_' prefixed environment variables into an array | |
IFS=$'\n' read -r -d '' -a secret_names < <(env | grep '^CI_' | sed 's/=.*//' && printf '\0') | |
for secret_name in "${secret_names[@]}"; do | |
# Extract the variable name without the CI_ prefix for Helm values | |
variable_name=$(echo $secret_name | sed 's/^CI_//') | |
# Get the value of the dynamic variable name | |
secret_value=${!secret_name} | |
# Append to the secrets string in the required format | |
if [ -z "$secrets_for_helm" ]; then | |
secrets_for_helm="ci.secrets.${variable_name}=${secret_value}" | |
else | |
secrets_for_helm="${secrets_for_helm},ci.secrets.${variable_name}=${secret_value}" | |
fi | |
done | |
# Remove the initial comma to clean up the format | |
secrets_for_helm=${secrets_for_helm#,} | |
# Format the entire string for --helm-extra-set-args, ensuring it's properly quoted | |
helm_extra_set_args="--set ${secrets_for_helm}" | |
# Use the command directly or set the HELM_EXTRA_SET_ARGS environment variable for later use in the workflow | |
echo "HELM_EXTRA_SET_ARGS=${helm_extra_set_args}" >> $GITHUB_ENV | |
- name: Run chart-testing (install) | |
if: steps.list-changed.outputs.changed == 'true' | |
run: | | |
ct install --target-branch ${{ github.event.repository.default_branch }} --config ct.yaml --helm-extra-set-args "$HELM_EXTRA_SET_ARGS" | |