Skip to content

All my changes - #1

Open
parkr wants to merge 83 commits into
mainfrom
parkr-changes
Open

All my changes#1
parkr wants to merge 83 commits into
mainfrom
parkr-changes

Conversation

@parkr

Copy link
Copy Markdown
Owner

No description provided.

Add init script for Docker service management
Add build arguments for docker image build
init.d/docker: remove ulimit calls since they don't work for me in podman
Build, test, & release new image via new workflow
parkrand others added 5 commits November 30, 2025 22:34
Automatic updates fail nearly all the time with ldd errors
runner_1-1 | Registering runner...
runner_1-1 | ldd: ./bin/libcoreclr.so: No such file or directory
runner_1-1 | ldd: ./bin/libSystem.Security.Cryptography.Native.OpenSsl.so: No such file or directory
runner_1-1 | ldd: ./bin/libSystem.IO.Compression.Native.so: No such file or directory
runner_1-1 | ./config.sh: line 80: ./bin/Runner.Listener: No such file or directory
runner_1-1 | /home/runner/actions-runner/run-helper.sh: line 36: /home/runner/actions-runner/bin/Runner.Listener: No such file or directory
runner_1-1 | Exiting with unknown error code: 127

CopilotAI left a comment

Copy link
Copy Markdown

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 updates the GitHub Actions self-hosted runner Docker configuration with significant infrastructure changes and dependency updates. The changes enable multi-architecture support, add VPN tunnel integration for network isolation, and update various component versions.

  • Updates runner and Docker component versions (Runner 2.330.0, Docker 29.1.3, containerd 1.7.29, etc.)
  • Adds automatic architecture detection in Dockerfile to support both amd64 and arm64 platforms
  • Integrates Gluetun VPN tunnel service in docker-compose for network isolation

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 11 comments.

Show a summary per file
FileDescription
linux/DockerfileUpdates dependency versions, adds multi-arch support with automatic architecture detection, includes new packages (libyaml-dev, libgmp-dev, dnsutils), and copies custom Docker init script
linux/scripts/entrypoint.shRemoves Docker startup failure exit, adds --disableupdate flag to runner, fixes quote style in cleanup function
linux/etc/init.d/dockerNew custom Docker init.d script for managing Docker daemon in the container
docker-compose.yamlComplete restructure to add Gluetun VPN tunnel service, updates runner configuration to use service networking and local build
env.exampleNew example environment file showing required variables for runner configuration
.gitignoreAdds docker-compose.yaml and env.example to tracked files
.github/workflows/define-build-linux-image.yamlAdds explicit ARCH and INSTRUCTION_SET build arguments
.github/workflows/build-test-release-new-image.yamlNew workflow for multi-platform builds with optional push to Docker Hub
README.mdUpdates documentation with VPN tunnel setup instructions and usage improvements

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threadlinux/scripts/entrypoint.sh Outdated
Comment threadlinux/scripts/entrypoint.sh Outdated
Comment on lines +57 to +58
echo "Registering runner..."

CopilotAIJan 7, 2026

Copy link

Choose a reason for hiding this comment

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

The message "Registering runner..." is now printed twice - once on line 34 (which was already in the original code) and again on the newly added line 57. This duplication should be removed for cleaner log output.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

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

@copilot open a new pull request to apply changes based on this feedback

Comment thread.github/workflows/build-test-release-new-image.yaml Outdated
Comment threadlinux/scripts/entrypoint.sh Outdated
# token is only valid for 1h, so it needs to be re-queried
# https://github.com/actions/runner/discussions/1799#discussioncomment-2747605
REG_TOKEN=$(curl --fail-with-body -X POST -H "Authorization: token ${TOKEN}" -H "Accept: application/vnd.github+json" "${REQ_TOKEN_URL}" | jq .token --raw-output)
REG_TOKEN=$(curl --fail-with-body -X POST -H "Authorization: token ${TOKEN}" -H "Accept: application/vnd.github+json" "$REQ_TOKEN_URL" | jq .token --raw-output)

CopilotAIJan 7, 2026

Copy link

Choose a reason for hiding this comment

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

Changed the quoting style from "${REQ_TOKEN_URL}" to "$REQ_TOKEN_URL" on line 70. While both styles work in bash, this creates inconsistency with the rest of the file where braces are consistently used for variable expansion (e.g., lines 46, 54, 59-64, 70-71). For consistency and to follow the existing code style, use "${REQ_TOKEN_URL}" with braces.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

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

@copilot open a new pull request to apply changes based on this feedback

Comment thread.github/workflows/build-test-release-new-image.yaml
Comment threadREADME.md
Comment on lines +56 to +61
```
$ vim tunnel.env # set these too
$ vim .env # set these variables
```

The `.env` variables are:

CopilotAIJan 7, 2026

Copy link

Choose a reason for hiding this comment

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

The documentation structure is confusing here. Lines 56-61 about editing .env and tunnel.env files appear in the middle of the "Organization-level token generation" section (which starts at line 55 and continues at line 63). This content about configuration files should either be moved to a separate section or placed before the token generation sections to maintain logical flow.

Copilot uses AI. Check for mistakes.
Comment threaddocker-compose.yaml
depends_on:
tunnel:
condition: service_healthy
network_mode: service:tunnel

CopilotAIJan 7, 2026

Copy link

Choose a reason for hiding this comment

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

Using network_mode: service:tunnel (line 32) makes the runner container share the tunnel's network stack. When using this mode, the networks key becomes invalid and should not be used. The runner_net network defined at the bottom will not be accessible to the runner container since it's using the tunnel's network namespace. If you need the runner to be on the runner_net network, remove the network_mode line and use the networks configuration instead, or ensure the tunnel service is connected to runner_net.

Copilot uses AI. Check for mistakes.
Comment threadlinux/Dockerfile
Comment threadlinux/etc/init.d/docker
Comment threadlinux/etc/init.d/docker Outdated
parkrand others added 3 commits January 6, 2026 22:21
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

CopilotAI commented Jan 7, 2026

Copy link
Copy Markdown

@parkr I've opened a new pull request, #3, to work on those changes. Once the pull request is ready, I'll request review from you.

CopilotAI commented Jan 7, 2026

Copy link
Copy Markdown

@parkr I've opened a new pull request, #4, to work on those changes. Once the pull request is ready, I'll request review from you.

Co-authored-by: parkr <237985+parkr@users.noreply.github.com>
CopilotAIand others added 30 commits March 18, 2026 22:57
Co-authored-by: parkr <237985+parkr@users.noreply.github.com>
linux/Dockerfile: fail Docker install step when any deb download fails
…rfile
Refresh updatable Linux runner image version pins
- DOCKER_VERSION: 29.5.3 → 29.6.1
- BUILDX_VERSION: 0.34.1 → 0.35.0
- COMPOSE_VERSION: 5.1.4 → 5.2.0
- UV_VERSION: 0.11.19 → 0.11.25
CONTAINERD_VERSION stays at 1.7.29 (sysbox constraint).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017vgYm1E9w36NbhKJ7HQhZZ
The sysbox constraint (nestybox/sysbox#973) does not apply here — this
repo uses privileged: true with standard runc, not the sysbox runtime.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017vgYm1E9w36NbhKJ7HQhZZ
Remove push and pull_request triggers; keep workflow_dispatch so it can
still be run manually if needed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017vgYm1E9w36NbhKJ7HQhZZ
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@parkr