Add ngrok devcontainer feature with amd64 and arm64 support#9
Conversation
Agent-Logs-Url: https://github.com/tokidoki11/devcontainer-feature/sessions/f2bd6af8-987d-45c6-956f-71706b53a0dd Co-authored-by: tokidoki11 <7564844+tokidoki11@users.noreply.github.com>
|
@copilot add test for ngrok feature in github action |
Agent-Logs-Url: https://github.com/tokidoki11/devcontainer-feature/sessions/afc37722-61dd-4f13-a843-238fb1973566 Co-authored-by: tokidoki11 <7564844+tokidoki11@users.noreply.github.com>
Added |
|
@copilot fix the test failure |
Agent-Logs-Url: https://github.com/tokidoki11/devcontainer-feature/sessions/055bcfd5-a8ac-4c76-a69a-56fb8ef53558 Co-authored-by: tokidoki11 <7564844+tokidoki11@users.noreply.github.com>
Fixed in commit 2780cec. The |
|
@copilot I want to run check of feature only when feature related item is changed |
Agent-Logs-Url: https://github.com/tokidoki11/devcontainer-feature/sessions/86ad65f1-c431-453e-ab95-f647fa7aef96 Co-authored-by: tokidoki11 <7564844+tokidoki11@users.noreply.github.com>
Agent-Logs-Url: https://github.com/tokidoki11/devcontainer-feature/sessions/86ad65f1-c431-453e-ab95-f647fa7aef96 Co-authored-by: tokidoki11 <7564844+tokidoki11@users.noreply.github.com>
Done in commit 5df5e5d. Added a |
|
…valid if conditions Agent-Logs-Url: https://github.com/tokidoki11/devcontainer-feature/sessions/3f7a0c2b-a1f8-4fb8-b79e-36c1de785a96 Co-authored-by: tokidoki11 <7564844+tokidoki11@users.noreply.github.com>
|
... Fixed in commit 46af616. The root cause was that GitHub Actions' job-level |
|
@copilot revert instead also update the readme at the root |
…E with ngrok Agent-Logs-Url: https://github.com/tokidoki11/devcontainer-feature/sessions/6a022cd3-682d-4dc2-abfc-cdb9d2f4eb6c Co-authored-by: tokidoki11 <7564844+tokidoki11@users.noreply.github.com>
... Done in commit c487746. Reverted the per-feature job split and replaced it with a
The Also updated the root README to add ngrok to the feature list. |
|
@copilot that is an ugly if else |
…tead of if/else Agent-Logs-Url: https://github.com/tokidoki11/devcontainer-feature/sessions/0e5ae084-4e5c-41a7-b7a1-75d1447db8c4 Co-authored-by: tokidoki11 <7564844+tokidoki11@users.noreply.github.com>
Done in commit c520aee. Replaced the if/else with a |
|
@copilot offload that long matrix creation to a shell script inside .github/ and call it inside the action |
Agent-Logs-Url: https://github.com/tokidoki11/devcontainer-feature/sessions/09c41b36-ecff-403c-91db-83a6860b25b9 Co-authored-by: tokidoki11 <7564844+tokidoki11@users.noreply.github.com>
Done in commit c8cc5d0. Extracted the matrix logic to run: |
bash .github/compute-feature-matrix.sh \
"${{ github.event_name }}" \
"${{ steps.filter.outputs.cargo-lambda }}" \
"${{ steps.filter.outputs.lambroll }}" \
"${{ steps.filter.outputs.ngrok }}" |
The existing public ngrok devcontainer feature is unmaintained and hardcodes amd64, making it unusable on arm64 hosts. This adds a first-party ngrok feature with proper architecture detection.
Changes
uname -mto mapx86_64→amd64andaarch64/arm64→arm64; exits with a clear error for unsupported architectureslatestmaps to thestablechannelcurl --failand explicittarerror checks surface actionable messages instead of silent failurestest/ngrok/test.sh,scenarios.json, andinstall_latest.shfollow the same pattern as existing featuresngrokadded to the feature test jobs in.github/workflows/test.yaml, running againstdebian:latestandubuntu:latestcompute-feature-matrixprecursor job usesdorny/paths-filter@v3to detect which feature directories (src/<feature>/**,test/<feature>/**) were modified and outputs a JSON features array;test-autogeneratedandtest-scenariosconsume it viafromJson(needs.compute-feature-matrix.outputs.features)so only features with actual changes are tested;workflow_dispatchalways runs all featuresUsage
{ "features": { "ghcr.io/tokidoki11/devcontainer-feature/ngrok:1": { "version": "latest" // or e.g. "3.5.0" } } }