Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Environment:Testtimescaling Testtimescaling github io GitHub Actions Runner

From Leeroopedia


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 run update_arxiv_citations.py)
  • curl (available but not directly used)

Python Packages

  • requests (used by update_arxiv_citations.py for 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 (via x-access-token URL scheme) and for the skills/action-update-step@v2 action. Requires contents: write permission 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-latest image. 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_TOKEN has API rate limits (1,000 requests per hour for GitHub Actions). This is not a concern for this repository's workflows.

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment