3.1 KiB
Gitea Actions Runner Configuration for j3270
This repository includes Gitea Actions workflows in .gitea/workflows/build.yaml to automatically:
- Compile and run the JUnit 5 test suite via
test_all.sh. - Build the standalone
j3270.jarexecutable viabuild_all.sh. - Upload
j3270.jaras a downloadable artifact. - Report test results and diagnostics.
1. Setting up act_runner (Gitea Actions Runner)
To run CI workflows on your Gitea instance:
Step 1: Download & Generate Config
Download the act_runner binary for your platform from the Gitea act_runner releases.
Generate a default runner config file:
./act_runner generate-config > config.yaml
Step 2: Configure Network & DNS in config.yaml
If your Gitea instance is hosted on a custom or internal domain (e.g., git.hugfreevikings.wtf), configure the container network mode or DNS resolution in config.yaml:
container:
# Option A (Recommended): Use host network mode so job containers share the host's DNS and network:
network: "host"
# Option B (Bridge mode): If using bridge network, add extra host mapping:
extra_hosts:
- "git.hugfreevikings.wtf:host-gateway"
Step 3: Register the Runner
Obtain a runner registration token from Repository Settings -> Actions -> Runners or Site Administration -> Actions -> Runners, then register:
./act_runner register \
--config config.yaml \
--instance https://git.hugfreevikings.wtf \
--token <YOUR_REGISTRATION_TOKEN> \
--name "j3270-runner" \
--labels "ubuntu-latest:docker://node:18-bullseye,ubuntu-22.04:docker://node:18-bullseye"
Step 4: Run the Runner Daemon
./act_runner daemon --config config.yaml
Or using Docker Compose:
version: '3.8'
services:
runner:
image: gitea/act_runner:latest
restart: always
environment:
- GITEA_INSTANCE_URL=https://git.hugfreevikings.wtf
- GITEA_RUNNER_REGISTRATION_TOKEN=<YOUR_REGISTRATION_TOKEN>
- GITEA_RUNNER_NAME=j3270-runner
- GITEA_RUNNER_LABELS=ubuntu-latest:docker://node:18-bullseye
extra_hosts:
- "git.hugfreevikings.wtf:host-gateway"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/data
- ./config.yaml:/config.yaml
2. Troubleshooting "Could not resolve host"
If job containers fail during checkout with:
fatal: unable to access 'https://git.hugfreevikings.wtf/...': Could not resolve host: git.hugfreevikings.wtf
This means Docker's bridge network inside the runner container cannot resolve the host domain.
Fix:
- Edit
config.yamlon the runner machine and setnetwork: "host"undercontainer::container: network: "host" - Restart the
act_runnerdaemon:./act_runner daemon --config config.yaml
3. Local Build & Test Verification
You can verify the entire build and test suite locally at any time without external tools:
# Compile and run all 25 unit tests (130ms):
sh ./test_all.sh
# Build executable standalone JAR:
sh ./build_all.sh
# Run the emulator:
sh ./run.sh