Skip to content

ci: upgrade GitHub Actions to Node.js 24 runtime and bump Python to 3.10 - #192

Closed
Swatantra-66 wants to merge 1 commit into
apache:masterfrom
Swatantra-66:ci/upgrade-github-actions
Closed

Swatantra-66 wants to merge 1 commit into
apache:masterfrom
Swatantra-66:ci/upgrade-github-actions

Conversation

@Swatantra-66

Copy link
Copy Markdown
Contributor

Summary

GitHub Actions runners are deprecating the Node.js 20 runtime and enforcing Node.js 24 across hosted runner images. Legacy action versions (actions/setup-python@v4 and actions/upload-artifact@v5) target Node.js 20 and trigger deprecation warnings. Furthermore, ubuntu-latest runner environments will soon transition to newer Ubuntu releases where deprecated runtimes and end-of-life Python versions are unsupported.

In accordance with Apache CI maintenance requirements, this PR updates .github/workflows/main.yml:

  1. GitHub Actions Version Upgrades:

    • actions/checkout: upgraded from v6 → v7 (applied across site checkout and NuttX checkout steps)
    • actions/setup-python: upgraded from v4 → v7 (runs on Node.js 24)
    • actions/upload-artifact: upgraded from v5 → v7 (runs on Node.js 24)
  2. Python Runtime Upgrade:

    • Upgraded Python from 3.8 (which reached official End-of-Life in October 2024) to 3.10.
    • Aligns directly with Apache NuttX core's documentation build workflow (doc.yml), which standardizes on Python 3.10 with support through October 2028.

Fixes #190

Impact

  • Eliminates runtime deprecation warnings across all site CI workflows.
  • Prevents CI pipeline breakage when GitHub Actions disables the Node.js 20 fallback.
  • Ensures compatibility with upcoming Ubuntu runner upgrades.
  • Maintains Sphinx / Pipenv documentation build stability using an active, supported Python version.

Testing

  • Verified YAML schema compliance for .github/workflows/main.yml.
  • Cross-verified action versions against Apache NuttX core repository workflows (.github/workflows/doc.yml).
  • Verified Git history and DCO sign-off (Signed-off-by: Swatantra Yadav <maverickswatantra@gmail.com>).

@Swatantra-66

Swatantra-66 commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor Author

Pushed an update using python-version: '3.10' under actions/setup-python@v7.

NuttX master requires modern sphinx-design (requiring Python >= 3.9) for the apps octicon. To maintain backward compatibility with legacy Sphinx 4.5.0 in historical releases (e.g., NuttX 12.0.0), a conditional constraint is added for sphinxcontrib-* packages when building Sphinx 4.x. All actions remain upgraded to the Node.js 24 runtime.

@Swatantra-66
Swatantra-66 force-pushed the ci/upgrade-github-actions branch from fc0d806 to e4bccaf Compare October 8, 2026 08:28
Resolve apache#190. GitHub Actions Node.js 20 is deprecated and will be removed
from runners. The ubuntu-latest label will also migrate to Ubuntu 26.

This upgrade bumps:
- actions/checkout from v6 to v7
- actions/setup-python from v4 to v7
- actions/upload-artifact from v5 to v7
- Python from 3.8 to 3.10

Also ensures compatibility for legacy Sphinx 4.x releases (e.g., NuttX 12.0.0)
by pinning sphinxcontrib extension versions when building older releases.

Signed-off-by: Swatantra Yadav <maverickswatantra@gmail.com>
@xiaoxiang781216

Copy link
Copy Markdown
Contributor

don't need, include in #193

Sign up for free to 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.

nuttx-website updates required/incoming.

2 participants