Commit Graph

28 Commits

Author SHA1 Message Date
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