Environment:Testtimescaling Testtimescaling github io GitHub Actions Runner
| Knowledge Sources | |
|---|---|
| Domains | Infrastructure, CI_CD |
| Last Updated | 2026-02-14 00:00 GMT |
Overview
Ubuntu-based GitHub Actions hosted runner providing the execution context for all CI/CD workflows in this repository, including Git CLI, Python runtime, and standard Unix tools.
Description
All workflows in this repository specify runs-on: ubuntu-latest, which provisions a GitHub-hosted Ubuntu virtual machine. This runner image comes pre-installed with Git, Python 3.x, common build tools, and networking utilities. The runner provides the compute and filesystem context for the citation update workflow, the course progression workflows, and the debug test workflow.
The runner environment is ephemeral: each job starts with a clean VM, and all state (checked-out files, installed packages, environment variables) is discarded after the job completes. Persistent state is maintained only through Git commits pushed back to the repository.
Usage
Use this environment for all GitHub Actions workflows in this repository. It is the mandatory runtime context for:
- The Automated Citation Tracking pipeline (daily cron + manual dispatch)
- The GitHub Pages Course Progression workflows (steps 0 through 5)
- The Test PAT debug workflow
System Requirements
| Category | Requirement | Notes |
|---|---|---|
| OS | Ubuntu (latest LTS) | GitHub resolves ubuntu-latest to the current LTS release
|
| Hardware | GitHub-hosted VM | 2-core CPU, 7 GB RAM, 14 GB SSD (standard tier) |
| Network | Outbound HTTPS | Required for Semantic Scholar API calls and Git push operations |
| Disk | Ephemeral workspace | $GITHUB_WORKSPACE is cleaned between jobs
|
Dependencies
System Packages (Pre-installed)
git>= 2.x (used for clone, commit, push operations)python3>= 3.8 (used to runupdate_arxiv_citations.py)curl(available but not directly used)
Python Packages
requests(used byupdate_arxiv_citations.pyfor HTTP calls)json(standard library, no install needed)
GitHub Actions
actions/checkout@v3(citation workflow)actions/checkout@v4(course progression workflows)skills/action-update-step@v2(course progression workflows)
Credentials
The following secrets and tokens are used at runtime:
secrets.GITHUB_TOKEN: Automatically provided by GitHub Actions. Used for git push authentication (viax-access-tokenURL scheme) and for theskills/action-update-step@v2action. Requirescontents: writepermission scope.
Quick Install
# No manual setup required. GitHub-hosted runners come pre-configured.
# The only external Python dependency is `requests`, which is pre-installed
# on ubuntu-latest runners. If running locally for testing:
pip install requests
Code Evidence
Runner specification from .github/workflows/update_citations.yml:L13:
update-citations:
runs-on: ubuntu-latest
Runner specification from .github/workflows/0-welcome.yml:L26-27:
get_current_step:
name: Check current step number
runs-on: ubuntu-latest
Permission scopes from .github/workflows/update_citations.yml:L8-9:
permissions:
contents: write
Course workflow permissions from .github/workflows/0-welcome.yml:L19-20:
permissions:
contents: write
pull-requests: write
Common Errors
| Error Message | Cause | Solution |
|---|---|---|
refusing to allow a GitHub App to create or update workflow |
GITHUB_TOKEN lacks workflow write permission | Ensure permissions: contents: write is set in the workflow YAML
|
remote: Permission to ... denied |
Credentials not configured after persist-credentials: false |
Use git remote set-url origin https://x-access-token:$TOKEN@github.com/... before push
|
ModuleNotFoundError: No module named 'requests' |
Python requests not available |
Run pip install requests as a workflow step, or use a setup-python action
|
Compatibility Notes
- Runner image updates: GitHub periodically updates the
ubuntu-latestimage. Pin to a specific version (e.g.,ubuntu-22.04) if deterministic builds are required. - Python version: The pre-installed Python version varies with the runner image. The script uses only basic features and is compatible with Python 3.8+.
- Git version: The pre-installed Git is always recent enough for the operations used (config, add, commit, push).
- Rate limits: The
GITHUB_TOKENhas API rate limits (1,000 requests per hour for GitHub Actions). This is not a concern for this repository's workflows.
Related Pages
- Implementation:Testtimescaling_Testtimescaling_github_io_GitHub_Actions_Cron_Schedule
- Implementation:Testtimescaling_Testtimescaling_github_io_Actions_Checkout_V3
- Implementation:Testtimescaling_Testtimescaling_github_io_Fetch_Arxiv_Citation_Count
- Implementation:Testtimescaling_Testtimescaling_github_io_Json_Dump_Shields_Badge
- Implementation:Testtimescaling_Testtimescaling_github_io_Git_Commit_Push_Workflow
- Implementation:Testtimescaling_Testtimescaling_github_io_Welcome_Branch_Setup
- Implementation:Testtimescaling_Testtimescaling_github_io_Skills_Action_Update_Step
- Implementation:Testtimescaling_Testtimescaling_github_io_Workflow_Dispatch_Verification