Presently, it seems GitHub Actions build logs expire in 90 days. This is indicated by the following message displayed when attempting to load up older logs of build jobs:
The logs for this run have expired and are no longer available.
There is currently no setting for defining log retention rules nor ability to retain logs of specific build jobs or workflows. The lack of ability to do so compromises on the traceability and transparency of open source projects with respect to changes made through their associated build job logs. It is coming close to a year since the launch of GitHub Actions with such options still nowhere to be seen in the official documentation or project settings.
GitHub Actions being an baked into GitHub itself makes it very convenient CI/CD solution worthy of adoption, except for the lack of important features such as these. It’d be great if job logs could be retained at least in some way for a start.