GitHub is deprecating the Node 20 action runtime; checkout@v4, setup-python@v5, and upload/download-artifact@v4 all run on it and were being auto-forced to Node 24 with a warning. Bump each to its current major (checkout@v7, setup-python@v7, upload-artifact@v7, download-artifact@v8), all of which run natively on Node 24.