Skip to content

fix: refactor PR Validation workflow to use Replicated actions #79

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 141 commits into from
Jul 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
4148d8c
start gh actions workflows
adamancini May 27, 2025
67f184f
start gh actions workflows
adamancini May 28, 2025
5cd8494
helm-repo-add
adamancini Jun 3, 2025
fdfdd1e
set fail-fast: true
adamancini Jun 4, 2025
7963be9
install helmfile
adamancini Jun 4, 2025
90ddbac
use helmfile/helmfile-action
adamancini Jun 4, 2025
a33b999
kubectl action needs v before version number
adamancini Jun 4, 2025
a2fbe95
install replicated cli
adamancini Jun 4, 2025
9c4a72b
install replicated cli
adamancini Jun 4, 2025
f5602a7
install replicated cli
adamancini Jun 4, 2025
c4717e2
set up repo secrets
adamancini Jun 4, 2025
2239f7c
ignore helm-preflight during validation
adamancini Jun 4, 2025
3611d18
replicated-release job
adamancini Jun 10, 2025
1e5a141
release-create
adamancini Jun 10, 2025
5a49887
create customer and cluster and cleanup
adamancini Jun 10, 2025
71cb017
use git branch for channel names
adamancini Jun 10, 2025
67335eb
create a channel before releasing
adamancini Jun 16, 2025
3d97c8a
use taskfile tasks for customer and cluster creation
adamancini Jun 16, 2025
39173bd
remove cleanup job to preserve clusters and customers
adamancini Jun 16, 2025
355b908
fix variable names to match taskfile expectations
adamancini Jun 16, 2025
03f7c83
add channel-create and channel-delete tasks
adamancini Jun 16, 2025
7768782
add helm install test job to validate customer deployment
adamancini Jun 16, 2025
d3b3ffd
release-prepare before pushing
adamancini Jun 16, 2025
6f6689d
add utils task to retrieve customer license ID
adamancini Jun 16, 2025
65475bd
optimize workflow with composite actions and best practices
adamancini Jun 16, 2025
81e3d73
make customer deployment test optional when secret missing
adamancini Jun 16, 2025
9e50265
ensure helm-install always runs regardless of customer secret
adamancini Jun 16, 2025
732a37e
add helmfile binary installation to setup-tools action
adamancini Jun 16, 2025
7820a86
add dependency update step to helm-install-test job
adamancini Jun 16, 2025
ea5c172
derive customer email from customer-create task instead of repo secret
adamancini Jun 16, 2025
2fe8f8f
fix helm registry login authentication method
adamancini Jun 17, 2025
5f05cb1
fix get-customer-license task to use correct field
adamancini Jun 17, 2025
b20f12b
fix github actions secret masking of license output
adamancini Jun 18, 2025
a24277c
Optimize workflow by collapsing serial jobs and enabling parallel exe…
adamancini Jun 18, 2025
70c50c6
Pass cluster name from create-customer-and-cluster to helm-install task
adamancini Jun 18, 2025
6b525e6
Align variable usage for branch and channel names consistently
adamancini Jun 18, 2025
58b7f14
Use channel-name consistently for all resource naming
adamancini Jun 18, 2025
df90117
Update container image tagging to use branch name prefixes
adamancini Jun 18, 2025
8e3f7c7
Remove pr- prefix from pull request image tags
adamancini Jun 18, 2025
82fe439
Simplify container image tagging strategy
adamancini Jun 18, 2025
af460fd
Add semantic version tagging for git tag releases
adamancini Jun 18, 2025
7b38cbe
Fix channel name normalization to handle forward slashes
adamancini Jun 18, 2025
ed33ffa
Reorganize workflow to fix job dependency order
adamancini Jun 18, 2025
796e8ca
Add Google Artifact Registry support for container images
adamancini Jun 18, 2025
523b19f
Add triple-registry container image publishing
adamancini Jun 19, 2025
520bbd5
Use Taskfile task for Replicated CLI installation
adamancini Jun 19, 2025
10f2665
Trigger new workflow runs to test triple-registry setup
adamancini Jun 19, 2025
bdc0c33
Split registry push actions into parallel jobs
adamancini Jun 20, 2025
2bc4524
fix: use OCI exporter for multi-arch image builds
adamancini Jun 20, 2025
cb25c09
refactor: simplify multi-registry push by building directly
adamancini Jun 20, 2025
e4f0d50
fix: use consistent image name across all registries
adamancini Jun 20, 2025
07aaf34
feat: add Replicated Registry proxy support to helmfile
adamancini Jun 23, 2025
855129d
fix: add cert-manager startupapicheck proxy configuration and improve…
adamancini Jun 23, 2025
5f40c1f
fix: pass REPLICATED_LICENSE_ID to helmfile sync for registry authent…
adamancini Jun 23, 2025
515bc0d
feat: add imagePullSecrets for Replicated registry proxy authentication
adamancini Jun 23, 2025
4999af9
fix: update imagepullsecret template to use dig function with Values.…
adamancini Jun 24, 2025
cc3533c
feat: make setup-kubeconfig accept cluster name argument and return d…
adamancini Jun 24, 2025
2d297c2
fix: correct imagePullSecrets configuration for all components in rep…
adamancini Jun 24, 2025
d00628d
claude project-specific settings
adamancini Jun 24, 2025
3fce54d
feat: update replicated chart version and improve YAML formatting
adamancini Jun 24, 2025
30e9966
docs: add helm testing guidance for timeout detection and debugging
adamancini Jun 25, 2025
3089633
feat: customer-helm-install task
adamancini Jun 25, 2025
ddf12cd
Merge branch 'main' into adamancini/gh-actions
adamancini Jun 25, 2025
dcfdb9e
chore: update helm chart dependencies and fix imagepullsecret template
adamancini Jun 25, 2025
169527f
feat: enhance customer workflow with full test cycle and improved tas…
adamancini Jun 26, 2025
bf74074
feat: add automatic git branch name normalization to tasks
adamancini Jun 27, 2025
719c1a1
docs: update CLAUDE.md with current project status and simplified wor…
adamancini Jun 27, 2025
39a22b2
chore: minor configuration updates
adamancini Jun 27, 2025
22c10b6
docs: explain name normalization rationale and add Vendor Portal context
adamancini Jun 27, 2025
0f8bce0
feat: enhance Replicated Registry proxy configuration
adamancini Jun 27, 2025
9faf578
feat: optimize GitHub Actions workflows with Task-based operations
adamancini Jun 27, 2025
bb442f1
fix: resolve Task YAML syntax error with echo statements
adamancini Jun 27, 2025
84a253a
docs: add Future Considerations section for replicated-actions integr…
adamancini Jun 30, 2025
a542851
feat: separate PR cleanup workflow to only run on merge to main
adamancini Jun 30, 2025
e327eeb
Revert "feat: separate PR cleanup workflow to only run on merge to main"
adamancini Jun 30, 2025
7e0c045
have claude generate a task dependency graph
adamancini Jul 2, 2025
69ee34d
remove dependency-update from install task
adamancini Jul 2, 2025
1f74672
Add test deployment action configuration
adamancini Jul 7, 2025
9a40955
fix: improve Replicated CLI download URL extraction in utils.yml
adamancini Jul 7, 2025
d16d4c8
feat: enhance channel management with unique ID support
adamancini Jul 7, 2025
9ae3f61
fix: update release-create task to use channel ID when available
adamancini Jul 7, 2025
cbfff80
fix: customer-create task to use channel ID directly with --channel flag
adamancini Jul 7, 2025
97bfc26
fix: helm-install task to use channel slug instead of channel ID for …
adamancini Jul 7, 2025
4220930
fix: Replicated CLI download URL extraction in install-replicated-cli…
adamancini Jul 7, 2025
ae03afc
trigger: PR validation with CLI fix
adamancini Jul 7, 2025
0c4bebd
clean: remove trigger file
adamancini Jul 7, 2025
ae551db
fix: update PR validation cache key to invalidate on utils.yml changes
adamancini Jul 7, 2025
634e654
feat: separate PR cleanup into dedicated workflow triggered on PR close
adamancini Jul 7, 2025
a3dc907
Update helmfile version for replicated sdk
hedge-sparrow Jul 9, 2025
7b3c2a2
fix: update channel-create task to include APP_SLUG var with default …
adamancini Jul 9, 2025
b603d20
fix: improve customer-helm-install task with automatic license lookup…
adamancini Jul 9, 2025
083613c
fix: correct Replicated CLI download URLs in utils:install-replicated…
adamancini Jul 9, 2025
e8038ad
fix: update GitHub Actions workflows to use WG_EASY_REPLICATED_APP as…
adamancini Jul 9, 2025
8963e39
fix: update channel-delete task to use correct replicated CLI command
adamancini Jul 9, 2025
d4f6c41
feat: make helmfile chart versions dynamic based on Chart.yaml files
adamancini Jul 9, 2025
5f72f69
Merge branch 'main' into adamancini/gh-actions
adamancini Jul 9, 2025
f951770
feat: add comprehensive refactoring plan for replicated-actions migra…
adamancini Jul 9, 2025
46cdf2f
fix: resolve Replicated CLI installation failures in GitHub Actions
adamancini Jul 9, 2025
6975b8d
feat: add direct Replicated CLI installation in setup-tools action
adamancini Jul 9, 2025
2b8a28f
fix: resolve jq parsing errors in channel and customer tasks
adamancini Jul 9, 2025
71fef72
feat: replace custom replicated-release action with official replicat…
adamancini Jul 9, 2025
1998c59
fix: use yaml-dir parameter for directory with multiple YAML files
adamancini Jul 9, 2025
3e6d72f
docs: update CLAUDE.md with Phase 2 completion status
adamancini Jul 9, 2025
30b1542
feat: replace customer and cluster management with official replicate…
adamancini Jul 9, 2025
331a6cd
docs: update CLAUDE.md with Phase 3 completion status
adamancini Jul 9, 2025
ce4d515
feat: complete Phase 4 of replicated-actions refactoring - decompose …
adamancini Jul 9, 2025
738c434
feat: complete Phase 4 decomposition of test-deployment action
adamancini Jul 10, 2025
f8f0b06
Remove example helmfile templates - unneeded
adamancini Jul 11, 2025
0724ea6
feat: implement idempotent resource creation in PR validation workflow
adamancini Jul 11, 2025
3568f04
fix: add robust error handling to API calls in idempotent resource ch…
adamancini Jul 11, 2025
f9c988b
fix: improve customer name uniqueness and handle duplicate customer IDs
adamancini Jul 14, 2025
ebfb8ec
feat: implement Phase 2 compatibility matrix testing enhancement
adamancini Jul 14, 2025
6ce0f47
fix: resolve workflow syntax error in matrix concurrency configuration
adamancini Jul 14, 2025
2fed943
Merge branch 'main' into adamancini/replicated-actions
adamancini Jul 14, 2025
44c1206
fix: resolve matrix exclude configuration mismatch
adamancini Jul 14, 2025
fef152b
fix: use proper matrix format for exclude functionality
adamancini Jul 14, 2025
dba0e17
fix: correct kind distribution node limit to 1 node maximum
adamancini Jul 14, 2025
f80f81f
fix: correct EKS Kubernetes version support to v1.31.2 only
adamancini Jul 14, 2025
e1152c5
feat: update matrix to latest patch versions from replicated cluster …
adamancini Jul 14, 2025
febe89b
docs: add replicated CLI insights documentation
adamancini Jul 14, 2025
422fe0e
fix: correct create-cluster parameter from disk-size to disk
adamancini Jul 14, 2025
d7f61fb
fix: correct matrix versions to match actual distribution support
adamancini Jul 14, 2025
35fffed
fix: remove problematic distribution-specific networking validation
adamancini Jul 14, 2025
1aa9dee
fix: improve kubeconfig extraction and cluster validation
adamancini Jul 14, 2025
cbc2629
fix: enhance kubeconfig extraction with proper base64 decoding
adamancini Jul 14, 2025
5287fc7
refactor: consolidate customer and channel creation across matrix jobs
adamancini Jul 14, 2025
d0151c9
fix: enforce proper cluster readiness validation with retry logic
adamancini Jul 14, 2025
de88f7f
fix: increase cluster disk size to meet 50GB minimum requirement
adamancini Jul 14, 2025
33d057d
refactor: remove set -e and improve explicit error handling
adamancini Jul 14, 2025
e1f4c33
fix: make customer and channel creation idempotent in PR validation w…
adamancini Jul 16, 2025
e947e5c
fix: normalize cluster names to prevent duplicate cluster creation
adamancini Jul 16, 2025
e592a75
fix: improve error handling in cluster check and creation steps
adamancini Jul 16, 2025
5467b56
refactor: separate cluster creation from test deployment for parallel…
adamancini Jul 16, 2025
8ca5504
fix: remove duplicate workflow steps causing extraneous cluster creation
adamancini Jul 16, 2025
b68a217
refactor: simplify test matrix to 1-node k3s clusters only
adamancini Jul 16, 2025
f280fe6
fix: add workflow run number to cluster names to prevent duplicates
adamancini Jul 16, 2025
d42ef2c
fix: update Claude settings for improved tool access
adamancini Jul 17, 2025
01c1226
remove deprecated test-deployment composite action
adamancini Jul 23, 2025
9588e16
refactor: replace manual cluster creation with replicated-actions/cre…
adamancini Jul 23, 2025
d230e38
feat: upgrade GitHub Actions runners to ubuntu-24.04
adamancini Jul 23, 2025
e97410c
Revert "refactor: replace manual cluster creation with replicated-act…
adamancini Jul 23, 2025
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
65 changes: 63 additions & 2 deletions .github/actions/setup-tools/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ runs:
/usr/local/bin/yq
/usr/local/bin/preflight
/usr/local/bin/helmfile
/usr/local/bin/replicated
~/.replicated
key: tools-${{ runner.os }}-yq-v4.44.3-preflight-v0.95.0-helmfile-v0.170.0-replicated-${{ hashFiles('**/taskfiles/utils.yml') }}
restore-keys: |
Expand Down Expand Up @@ -90,5 +91,65 @@ runs:

- name: Install Replicated CLI
shell: bash
working-directory: ${{ inputs.app-dir }}
run: task utils:install-replicated-cli
env:
GITHUB_TOKEN: ${{ github.token }}
run: |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 on using cache

if [ ! -f /usr/local/bin/replicated ]; then
echo "Installing Replicated CLI..."

# Detect OS and architecture
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m)

# Map architecture names
case $ARCH in
x86_64)
ARCH="amd64"
;;
aarch64|arm64)
ARCH="arm64"
;;
*)
echo "Unsupported architecture: $ARCH"
exit 1
;;
esac

echo "Detected OS: $OS, Architecture: $ARCH"

# Get download URL using authenticated API call
if [ "$OS" = "linux" ]; then
DOWNLOAD_URL=$(curl -s -H "Authorization: token ${GITHUB_TOKEN}" \
https://api.github.com/repos/replicatedhq/replicated/releases/latest \
| grep "browser_download_url.*_linux_${ARCH}.tar.gz" \
| head -1 \
| cut -d '"' -f 4)
elif [ "$OS" = "darwin" ]; then
DOWNLOAD_URL=$(curl -s -H "Authorization: token ${GITHUB_TOKEN}" \
https://api.github.com/repos/replicatedhq/replicated/releases/latest \
| grep "browser_download_url.*_darwin_all.tar.gz" \
| head -1 \
| cut -d '"' -f 4)
else
echo "Unsupported operating system: $OS"
exit 1
fi

if [ -z "$DOWNLOAD_URL" ]; then
echo "Error: Could not find download URL for Replicated CLI"
exit 1
fi

echo "Downloading from: $DOWNLOAD_URL"
curl -L -o replicated.tar.gz "$DOWNLOAD_URL"
tar xzf replicated.tar.gz
sudo mv replicated /usr/local/bin/replicated
sudo chmod +x /usr/local/bin/replicated
rm replicated.tar.gz

echo "Replicated CLI installed successfully!"
replicated version
else
echo "Replicated CLI already installed (cached)"
replicated version
fi
108 changes: 0 additions & 108 deletions .github/actions/test-deployment/action.yml

This file was deleted.

Loading
Loading