workflow: move all actions off the Node 20 runtime
GitHub is removing the Node 20 action runtime on September 23rd, 2026. Every action used here still runs on it, and actions/checkout was pinned to v3, which is on the already-retired Node 16 runtime.
Bump each action to the current major, all of which run on Node 24:
checkout v3 -> v7 setup-python v5 -> v7 upload-artifact v4 -> v7 configure-pages v5 -> v6 upload-pages-artifact v3 -> v5 deploy-pages v4 -> v5 download-artifact v5 -> v8 setup-node v4 -> v7
upload-pages-artifact is a composite action; v5 pins upload-artifact v7 internally, so it is off Node 20 as well. Every input passed here still exists in the new majors, and node-version remains optional on setup-node, so the bare “Set up Node.js” step keeps using the runner’s preinstalled Node.
Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com Claude-Session: https://claude.ai/code/session_014XsRepKWSse3HXAqNbM9Lm
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
PR Dashboard
This set of scripts produces a static HTML page with an overview of the pull requests involving a specific user, fetching data from multiple repositories under a GitHub organization. It’s been developed for the Zephyr project specifically but it should be usable for any GitHub project.
Script architecture
This is meant to be called periodically from a GitHub workflow and the output served using GitHub pages. The basic workflow run as following:
update_zephyr_pr.py: produces a list of repositories based on the west manifest and callsupdate_pr.pywith the list. This step is optional, one could callupdate_pr.pywith a static list of repositories directly.update_pr.py: fetches the pull request data using the GitHub APIs and dump the raw content into a big cache file that can be used by other scripts to read the data without having to query the GitHub APIs again.crunch_data.py: reads the raw data and produces a new set of files that are suitable for the dashboard UI to be used directly.See the
.github/workflows/update.yamlfile for more details.Development and troubleshooting
Each of the scripts can run independently.
update_pr.pycan be called directly and only needs aGITHUB_TOKENenvironment variable to be setup with a valid API token. By default it only fetches a couple of fixed repositories.crunch_data.pycan be run using the cached data from the latest data set already served on GitHub, these can be fetched using thedownload_cache_datascript: