Commit Graph

31 Commits

Author SHA1 Message Date
Yousong Zhou 6d5e468f2d circleci: skip compiling packages not enabled
E.g. some packages are target, or arch specific, skip compiling them if
they cannot be enabled for current sdk.  This should reduce false
positives for packages like docker-ce etc.

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
(cherry picked from commit 4f3244db40)
2019-11-06 14:26:00 +00:00
Paul Spooren ef4de15df8 build: only install changed packages
Installing all packages via ./scripts/feeds install -a produces a lot of
error messages, it is also possible to only install the packages which
were touched by the PR.

Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit b8931afc94)
2019-11-06 14:25:38 +00:00
Jeffery To bda873d0e0 circleci: Use 19.07 snapshot SDK
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2019-10-25 02:44:25 +02:00
Jeffery To e16eabc026 circleci: Add 19.07 GPG/usign public keys, verify keys
This also updates the user id comments for GPG keys and untrusted
comments for usign keys.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from 89d6f51c98)
2019-10-25 02:44:25 +02:00
Petr Štetiar a6c658db01 circleci: provide prereq output in the build log
Commit 200f2666fb1c ("sdk: fix GCC and Python dangling symlinks") in
master tree has forced prereq build step, which is now failing on the CI
as the Docker CI images are missing Python3 support, so now every build
fails with the following error:

 make: *** [staging_dir/host/.prereq-build] Error 1

which is not helpful due to the silenced output of `make defconfig >
/dev/null`, so let's add `make prereq` build step in order to get
something usable next time.

Reported-by: Karl Palsson <karlp@etactica.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-08-15 02:31:01 +08:00
Petr Štetiar 07d330907c circleci: use Docker image v1.0.4
This new image which is already available contains Python3 support.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-08-15 02:30:54 +08:00
Petr Štetiar d9212baa45 circleci: make logs of build failures more readable
Due to concurrent build, it's currently not that easy to find the proper
reason for the package build failure, so let's just build the failing
package with -j1 in order to provide more human readable build log
failures.

Ref: https://github.com/openwrt/packages/pull/9584#issuecomment-518038631
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-08-15 02:30:46 +08:00
Petr Štetiar 775e4f81e7 circleci: add python3 package into Docker image
We've switched to Python3 some time ago so it would make sense to
provide Python3 in the CI image as well.

Ref: https://github.com/openwrt/packages/pull/9584#issuecomment-518038631
Reported-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-08-15 02:30:35 +08:00
Jeffery To 2702187c5b CircleCI: Add support for usign signatures
It appears snapshot target builds have switched from GPG signatures
(sha256sums.asc) to usign signatures (sha256sums.sig).

This adds support for verifying these usign signatures. (GPG signatures
will also be verified if found.)

This also restores the alphabetical ordering of packages to be installed
by apt-get.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2019-07-17 16:25:25 +08:00
Jeffery To b14b593533 CircleCI: Change BRANCH to "openwrt-19.07"
This still uses the snapshot SDK, but should allow CI to continue.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2019-06-18 19:06:31 +08:00
Rosen Penev f96446cb9b CircleCI: Switch to ath79 SDK
The default target in OpenWrt has been switched to ath79. Match it here.
No functional difference.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-05-17 21:40:10 -07:00
Ted Hess 2dcab943cf CircleCI: Filter out Makefile in files and src directories when checking for modified packages
Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-12-29 12:47:45 -05:00
Ted Hess 422cd11b5a CircleCI: Add bzr to Docker image. Update to v1.0.2
Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-12-18 16:24:04 -05:00
Ted Hess fb758431af CircleCI: Remove version info from SDK filename.
Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-12-17 15:07:13 -05:00
Ted Hess 2b6d26b8ec CircleCI: Update SDK / gcc version bump
Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-12-15 16:37:04 -05:00
Ted Hess 761b00c5e9 CircleCI: Fix Debian grep compatibility
Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-12-15 15:53:46 -05:00
Ted Hess 5a444fcc60 CircleCI: Allow '+' in package name subject check
Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-12-15 11:34:19 -05:00
Ted Hess e6e7b5211a CircleCI: Add package checks and HASH verify from Travis. Fix build log generation.
Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-12-09 10:37:30 -05:00
Ted Hess 1c2c18a16a CircleCI: Do not run build as root. Move to public docker repo.
Change docker hub repository to 'openwrtorg'.
Create and use non-root user 'build'. Add xz-utils and unzip.
Use version numbers for docker images (SHA has no sense of time).
Disable pipefail in build step

Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-12-05 15:28:36 -05:00
Ted Hess e47ca98a5e build,circleci: Updates with additional checks from travis scripts.
Checking:
- Pull request does not contain unwanted merges
- signed-off-by tag exists and matches author
- Subject line has package name
- Author name has 'firstname lastname' (no nicknames)

Signed-off-by: Ted Hess <thess@kitschensync.net>
[Use git instead of CircleCI variables]
Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2018-11-24 22:18:05 -05:00
Etienne Champetier c3c3252ab5 build,circleci: add curl & wget to base image
curl was present in latest image but seems to have been remove from latest debian:9

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2018-11-24 20:46:39 -05:00
Ted Hess 37ddc58ab9 CircleCI: Fix URL references to openwrt.org
Signed-off-by: Ted Hess <thess@kitschensync.net>
2018-11-13 11:24:50 -05:00
Etienne Champetier 7d38990928 build,circleci: fix container digest
I used podman/buildah to build this image, and the local sha256 is not the same than
the docker hub sha256. The layers are the same, so maybe just docker hub changing the manifest

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2018-11-03 08:53:48 -04:00
Etienne Champetier d6292dcd9e build,circleci: add 'time' to container build image
Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2018-11-03 00:03:44 -04:00
Etienne Champetier abf461a95a build,circleci: make BRANCH a variable
Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2018-10-29 20:27:23 -04:00
Etienne Champetier e5574ea957 build,circleci: add python to docker build image
This is needed to build ca-certificates

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2018-10-29 02:07:26 -04:00
Etienne Champetier 4aeeeb65d4 build,circleci: enable CircleCI workflows
Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2018-10-28 23:26:25 -04:00
Etienne Champetier c48f3f6fbd build,circleci: change exclude pattern
Even when configured to only build PR, CircleCI always build the default branch
`only: /pull.*/` seems like a good idea, but it fails when:
- you are testing on the same repo, because github doesn't create a pull branch
- when your repo is configured, because it see the push on your repo,
prevent building this commit because it doesn't match the regexp, then when you
do the PR CircleCI doesn't work
In the end what we really want is `ignore: master`

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2018-10-28 22:01:58 -04:00
Etienne Champetier cd315ec4e2 build,circleci: fixup pkgs list generation
Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2018-10-28 20:18:01 -04:00
Etienne Champetier 4ebb869a94 build,circleci: make compile verbose to avoid timeout
Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2018-10-23 16:40:04 -04:00
Etienne Champetier 4c1a67278f build: add CircleCI
The big advantages are:
- everyone can download the build logs and the ipks
- we use our own docker image
- people with commit access can ssh into the build env

The disadvantages:
- need to push new commits to restart the build

I haven't reimplemented the commit message checks as this should be replaced
with a separate script doing only that so we can require it
(https://help.github.com/articles/enabling-required-status-checks/)

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2018-10-23 16:35:12 -04:00