Commit Graph

30 Commits

Author SHA1 Message Date
Leonid Pliushch 06c965ffb6 CI: use custom `git clone` for upload task
Purpose same as for build task.
2019-09-10 17:16:11 +03:00
Leonid Pliushch 1ce33aba30 CI: switch to file-based cache for passing *.deb files between tasks 2019-09-10 16:09:32 +03:00
Leonid Pliushch 8701462951 add new linter script & fix packages where needed
Linter will check packages submitted for CI build. If error was found,
build will not be allowed.

To ensure that all build.sh scripts are consistent and have at least
minimal allowed quality, linter is permanently enabled for all branches
and pull requests.
2019-08-14 14:27:55 +03:00
Leonid Pliushch 473f71fd93 CI: reduce RAM limit to 8 GB
Possible after setting correct TERMUX_MAKE_PROCESSES.
2019-07-29 15:26:47 +03:00
Leonid Pliushch 26306f7ade CI: set TERMUX_MAKE_PROCESSES to 4
Otherwise it will use number reported by `nproc` which is 32 currently.
2019-07-29 14:47:54 +03:00
Leonid Pliushch 4ebef55b2d CI: raise memory to 12 GB
4 and even 8 GB cause container failure when building certain
packages (e.g. nodejs or libllvm).
2019-07-29 11:54:14 +03:00
Leonid Pliushch eae9966982 CI: reduce resource usage
https://github.com/termux/termux-packages/issues/4116
2019-07-29 02:07:23 +03:00
Leonid Pliushch c628fa64f0 CI: fix syntax error in .cirrus.yml 2019-07-23 23:51:14 +03:00
Leonid Pliushch 2d1346aec2 CI: let build task will depend on 'docker builder'
However this setup should be tested if working on non-master branch
since docker builder is disabled on them.
2019-07-23 23:49:13 +03:00
Leonid Pliushch b97a70a2b0 CI: add support for automatic docker image rebuilding 2019-07-23 23:42:20 +03:00
Leonid Pliushch bbd9402382 CI: use git client provided by docker image
We still can't use the default Cirrus's one...
2019-07-23 12:19:42 +03:00
Leonid Pliushch 9fac976ab1 CI: restore old way for building & uploading packages
Do not use pipes for building & uploading packages because:

 * They spawn more jobs on Bintray for metadata generation - each upload is
   done in a separate session.

 * Bintray doesn't handle well concurrent uploads and metadata can be corrupted.
   This happened in all recent builds of platform independent packages - in
   each upload task file had a same name and that triggered problem with metadata.

 * Using delays for workaround for a problem described above works, but isn't
   safe.
2019-07-23 03:08:34 +03:00
Leonid Pliushch c18beff6c0 CI: better implementation for workaround introduced in f75cb1d4f2
Use predefined upload delays for each pipe.
2019-07-22 22:38:32 +03:00
Leonid Pliushch f57bb95929 CI: fix missing artifacts for test builds 2019-07-21 01:21:31 +03:00
Leonid Pliushch ca8f0d0b74 CI: use pipe instead of separate tasks
No more need to pass packages between tasks through http cache but will require
a separate configuration for earch architecture.
2019-07-20 23:01:15 +03:00
Leonid Pliushch 2563fd812c update CI setup
* Move package building/uploading implementation from config to a separate script.

* Implement new tag '%ci:no-build' to allow immediately stop build with status 'passed'.

%ci:no-build
2019-07-20 13:33:55 +03:00
Leonid Pliushch 63f6d320d1 CI: do not encrypt username & gpg subject
These values are not sensitive data.

Also encryption of these values have side effect when they are same as part of
log output: e.g. word "termux-licenses" will become "SECRET-licenses" which may be confusing.
2019-05-19 21:55:40 +03:00
Leonid Pliushch 5fc3491354 CI: let tag '%ci:reset-backlog' will affect PRs too 2019-05-06 16:18:27 +03:00
Leonid Pliushch f086ecdfda CI: modify behaviour of tag "%ci:reset-backlog"
Now it will build current commit and skip anything else.
2019-05-06 16:14:54 +03:00
Leonid Pliushch f1999ddddc CI: use unique keys when caching *.deb files
Make sure that upload task will always receive debs from the corresponding
build task.
2019-05-06 15:56:40 +03:00
Leonid Pliushch eeec7d22e4 CI: look only for tags specified in commit message
Because for pull requests environment variable CIRRUS_CHANGE_MESSAGE contains
only their description.

%ci:reset-backlog
2019-05-06 15:52:06 +03:00
Leonid Pliushch dd4438c533 CI: improve regex for checking tags 2019-05-06 15:42:29 +03:00
Leonid Pliushch 5897248cc1 CI: backlog-resetting tag should work for all tasks 2019-05-06 15:33:50 +03:00
Leonid Pliushch 7c8fc5ed04 CI: change tag for resetting build backlog
Needed because Github recognises @ci as mention of user.

%ci:reset-backlog
2019-05-06 15:31:50 +03:00
Leonid Pliushch 05782bc8d8 CI: add tag that allows to reset build backlog
Just add '@ci:reset-backlog' to commit message and build should be skipped.
CI should finish tasks with status 'success'.

@ci:reset-backlog
2019-05-06 15:24:49 +03:00
Leonid Pliushch a882e8d8b7 CI: better way to pass packages between tasks 2019-05-03 00:47:26 +03:00
Leonid Pliushch fddb17f159 CI: refactor configuration file
Cache instructions will query system to check if existing cache is available.
While cache will unlikely to be available in build task, it is better to
make it queried before build so if cache folder appear, it will be deleted by
`rm -rf "debs-${TERMUX_ARCH}"`.
2019-05-02 15:25:28 +03:00
Leonid Pliushch 0fdd2c60a8 CI: fix configuration file
Do not delete folder which is lately used...
2019-05-02 15:10:14 +03:00
Leonid Pliushch f9b427dbf7 CI: cache deb files properly so all of them passed to upload task 2019-05-02 14:59:28 +03:00
Leonid Pliushch 599d2509d7 CI: switch to Cirrus 2019-05-01 23:45:46 +03:00