Conversation
Add documentation for using setup-vp in Alpine containers with the required gcompat compatibility packages. Add corresponding CI test job to verify installation works in Alpine 3.21 containers.
There was a problem hiding this comment.
Pull request overview
Adds documentation and CI coverage for running voidzero-dev/setup-vp inside an Alpine Linux container, including required musl/glibc compatibility dependencies.
Changes:
- Document Alpine container usage in
README.md, including requiredapk addpackages. - Add a
test-alpine-containerworkflow job that runs insidealpine:3.21and validatesvp --versionandvp execfor bothlatestandalpha.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| README.md | Adds an “Alpine Container” usage snippet and dependency guidance. |
| .github/workflows/test.yml | Adds a new Alpine container CI job to validate the action on musl-based images. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: MK (fengmk2) <fengmk2@gmail.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 4 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
bash is not available in Alpine until after the apk add step runs.
Detect /bin/bash at runtime and fall back to sh for environments like Alpine Linux where bash is not installed. This removes the need to install bash as a prerequisite in Alpine containers.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| run: vp --version | ||
|
|
||
| - name: Verify vp exec works | ||
| run: vp exec node -e "console.log('vp exec works in Alpine')" | ||
|
|
There was a problem hiding this comment.
In this Alpine container job, the subsequent run: steps (vp --version and vp exec ...) will use the default Linux shell (bash). Alpine images don't include bash by default, so these steps are likely to fail unless you either install bash in the dependency step or set shell: sh (or job-level defaults.run.shell) for these run: steps.
| ### Alpine Container | ||
|
|
||
| Alpine Linux uses musl libc instead of glibc. Install compatibility packages before using the action: | ||
|
|
||
| ```yaml | ||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
| container: | ||
| image: alpine:3.21 | ||
| steps: | ||
| - run: apk add --no-cache bash curl gcompat libstdc++ | ||
| - uses: actions/checkout@v6 | ||
| - uses: voidzero-dev/setup-vp@v1 | ||
| ``` | ||
|
|
There was a problem hiding this comment.
PR description says the Alpine example requires apk add bash curl gcompat libstdc++, but both the README snippet and the CI job only install curl gcompat libstdc++. Either add bash to the documented/CI dependency list, or update the PR description (and ensure the installer really works under sh without bash).
Summary
shwhenbashis not available, enabling Alpine Linux support without requiring bash as a prerequisitetest-alpine-containerCI job testing bothlatestandalphaversions in Alpine 3.21 containerTest plan
test-alpine-containerCI job passes for both vp versionsvp --versionandvp execwork inside Alpine container🤖 Generated with Claude Code