-
Notifications
You must be signed in to change notification settings - Fork 678
buid(bin):binary for musl #472
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for producing a statically linked musl-based ddns
binary, refines existing CI steps, and ensures the correct MutableMapping
import on Python 2/3.
- Annotate Python version branches in
util/cache.py
. - Update GitHub Actions: switch
test -e
totest -f
for stricter file checks, and introduce apack-musl
job. - Add an install script for
patchelf
and a multi-stage Dockerfile to build the musl binary.
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
File | Description |
---|---|
util/cache.py | Added inline comments to clarify Python 3 vs. Python 2 import paths. |
.github/workflows/build.yml | Changed file-existence tests, removed ambiguity, and added pack-musl job. |
.github/install-patchelf.sh | New script to fetch and install a specific patchelf release. |
.build/musl.Dockerfile | New Dockerfile for building a static musl-linked binary via Nuitka. |
Comments suppressed due to low confidence (2)
.build/musl.Dockerfile:10
- The fallback installs mix version 0.17.2.1 via pip while the install script targets 0.18.0—this version mismatch may lead to unexpected behavior. Align versions or centralize the version constant.
RUN apk add --update --no-cache patchelf\ || /tmp/install-patchelf.sh\ || pip3 install patchelf==0.17.2.1
.github/workflows/build.yml:290
- This
run:
step mixes a commented command at the same indentation, which likely breaks YAML parsing. Consider using a multiline literal (|
) for the script block or removing the inline comment.
run: find output -mindepth 2 -type f -exec mv -t output {} +
run: ${{env.PY}} run.py -h | ||
- name: test config generation | ||
run: ${{env.PY}} run.py || test -e config.json | ||
run: ${{env.PY}} run.py || test -f config.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] This run:
step is duplicated across multiple jobs—consider extracting it into a reusable workflow step or using YAML anchors to reduce repetition.
Copilot uses AI. Check for mistakes.
No description provided.