Connections to apt repositories often stuck, cause builds to time out.
As there no issues on repository side and connection problem is reproducible
only on Github Actions instances, I can only assume that there is either a
some bug in CI virtual machines setup or Github applies undocumented(?)
limits on networking usage.
Removing '-I' option will disable downloading of prebuilt dependencies
and thus networking usage at cost of increased build times.
But only (try to) build the main packages. For each modified package
we check if there are subpackages and in that case save them in
built_packages.txt as well, so that the repository server does not
have to parse the git repo to find out if there are subpackages.
Even though JFrog continued Bintray normal operation until 31 Mar 2021, I'm
disabling Github Actions uploads now. Termux Bintray repository continues to
be available in read-only mode until the final shutdown by JFrog.
Will turn off the bintray mirroring for grimler.se once I confirm (as
well as I can) that this works as intended. Will upload a wiki page
with some information about how this is set up on the server in case
someone wants to make a similar setup.
Also use v2 for upload- and download-artifact.
Warning: Cache service responded with 429 during upload chunk.
/home/runner/work/_actions/actions/cache/v2/dist/save/index.js:3305
throw new Error(`Cache upload failed because file read failed with ${error.message}`);
^
Error: Cache upload failed because file read failed with EBADF: bad file descriptor, read
at ReadStream.<anonymous> (/home/runner/work/_actions/actions/cache/v2/dist/save/index.js:3305:31)
at ReadStream.emit (events.js:210:5)
at internal/fs/streams.js:167:12
at FSReqCallback.wrapper [as oncomplete] (fs.js:470:5)
Github Actions do not allow to overwrite already stored cache for
specific key. This caching approach is suitable for projects, where
dependencies are being tracked within lock files or their alternatives,
for exapmle NPM, Ruby or Python. Termux-packages is not such repository
where we can easily retrieve cache by using old key and generate a new
one after building was finished.
%ci:no-build causes packages not being built, however it doesn't prevent
artifacts from being uploaded/downloaded. Due to unavailable *.deb files,
upload job fails during download of the artifacts archive.
Placeholder file should make a valid artifact archive to be available so
job will not fail anymore.