Conversation
* chore: bump nim-libp2p * enabling nim tests Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org> * cleaup of the setup Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org> --------- Signed-off-by: Dave Grantham <dwg@linuxprogrammer.org> Co-authored-by: Richard Ramos <info@richardramos.me> Co-authored-by: Dave Grantham <dwg@linuxprogrammer.org>
No test framework changes, only updating test applications
|
@dhuseby Are the self hosted runners expected to run? |
|
I think the smart thing to do here is to set up Github runners. |
|
I don't follow. Are you saying that the self hosted runners you previously setup for this repo are no longer available, and that I should use GitHub hosted runners instead? |
|
I can set up one of the self-hosted runners for this repo to use. Let me do that, you'll need it. The GH hosted runners won't run long enough to do a full transport interop pass with this framework. |
|
It's going to fail because it is running a custom Debian OS set up for the other testing framework. As you debug it, let me know what you need installed in the system image to make it work and I'll get them installed. |
|
It is being picked up by the self-hosted runner but it is hanging I think. |
|
Ok, the self-hosted runner is set up for your exclusive use. I manually ran the job several times to ensure that it is being picked up and run correctly. Everything is working. Let me know if you have any issues. The job is failing, but it is running correctly. |
d6cac30 to
9f15512
Compare
These may be removed by a future change
9f15512 to
0066341
Compare
|
Interop tests ran fine: https://github.com/libp2p/test-plans/actions/runs/22320731122?pr=833 CI returns failure because some interop test cases failed. Worth debugging why those fail, but for the purpose of this PR, getting CI running again, we can ignore those. |
|
This PR doesn't change anything about the test framework itself (except an explicit string casting in yaml), so I'll go ahead and merge this so future PRs can use CI properly. |
There was a problem hiding this comment.
I noticed you're manually installing dependencies. If you'd like me to upstream these into the self-hosted runner, let me know. I'm happy to apply a patch, rebuild and restart the runner. Here's the current Dockerfile for the ephemeral self-hosted runner:
# ─────────────────────────────────────────────────────────────
# Minimal Debian 13 (trixie) + GitHub Actions runner + full BuildKit
# ─────────────────────────────────────────────────────────────
FROM debian:13-slim
# Prevent interactive prompts
ENV DEBIAN_FRONTEND=noninteractive \
RUNNER_ALLOW_RUNASROOT=1
# Install only what is strictly required
# - GitHub runner dependencies (very small list)
# - Docker CLI + Buildx plugin (from official Docker repos)
# - BuildKit enabled by default for plain `docker build`
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
curl \
gnupg && \
\
# Add Docker's official GPG key and repository
install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \
chmod a+r /etc/apt/keyrings/docker.gpg && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian trixie stable" > /etc/apt/sources.list.d/docker.list && \
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" > /etc/apt/sources.list.d/github-cli.list && \
\
# Refresh with Docker repo and install everything
apt-get update && \
apt-get install -y --no-install-recommends \
bc \
ca-certificates \
containerd.io \
coreutils \
docker-ce \
docker-ce-cli \
docker-buildx-plugin \
docker-compose-plugin \
gh \
git \
gnuplot \
gzip \
jq \
libssl3 \
liblttng-ust1 \
libkrb5-3 \
libicu76 \
libunwind8 \
libuuid1 \
openssh-client \
pandoc \
patch \
tar \
wget \
unzip \
util-linux \
zip && \
rm -rf /var/lib/apt/lists/*
# Set up SSH
#RUN mkdir -p /root/.ssh && \
# chmod 700 /root/.ssh
# Force BuildKit for ALL `docker build` commands (no DOCKER_BUILDKIT=1 needed)
RUN mkdir -p /root/.docker && \
echo '{ "features": { "buildkit": "true" } }' > /root/.docker/config.json
# Install latest stable yq (mikefarah) — tiny binary, no deps
ENV YQ_VERSION=v4.49.2
RUN arch=$(dpkg --print-architecture) && \
curl -L --fail -o /usr/local/bin/yq \
"https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_${arch}" && \
chmod +x /usr/local/bin/yq
# Install GitHub Actions runner (latest stable at time of writing)
ARG RUNNER_VERSION=2.330.0
WORKDIR /actions-runner
RUN curl -L -o runner.tar.gz \
"https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-x64-${RUNNER_VERSION}.tar.gz" && \
tar xzf runner.tar.gz && \
rm runner.tar.gz && \
./bin/installdependencies.sh && \
# Clean up runner's own apt caches
rm -rf /var/lib/apt/lists/*
# Copy your entrypoint script (ephemeral registration)
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
No framework changes. Just updating the transports and attempting to have CI run on self hosted runners.