Leonid Plyushch
6 years ago
5 changed files with 80 additions and 86 deletions
@ -0,0 +1,50 @@ |
|||
container: |
|||
image: termux/package-builder:latest |
|||
cpu: 8 |
|||
memory: 16 |
|||
|
|||
# Build packages. |
|||
build_task: |
|||
# 2 hours is a maximal timeout for free use. |
|||
timeout_in: 120m |
|||
|
|||
environment: |
|||
matrix: |
|||
TERMUX_ARCH: aarch64 |
|||
TERMUX_ARCH: arm |
|||
TERMUX_ARCH: i686 |
|||
TERMUX_ARCH: x86_64 |
|||
|
|||
# Do not use built-in git client provided by Cirrus as it |
|||
# causes problems when determining changed files. |
|||
clone_script: | |
|||
if [[ -z "$CIRRUS_PR" ]]; then |
|||
git clone --recursive --branch="$CIRRUS_BRANCH" "https://x-access-token:${CIRRUS_REPO_CLONE_TOKEN}@github.com/${CIRRUS_REPO_FULL_NAME}.git" "$CIRRUS_WORKING_DIR" |
|||
git reset --hard "$CIRRUS_CHANGE_IN_REPO" |
|||
else |
|||
git clone --recursive "https://x-access-token:${CIRRUS_REPO_CLONE_TOKEN}@github.com/${CIRRUS_REPO_FULL_NAME}.git" "$CIRRUS_WORKING_DIR" |
|||
git fetch origin "pull/$CIRRUS_PR/head:pull/$CIRRUS_PR" |
|||
git reset --hard "$CIRRUS_CHANGE_IN_REPO" |
|||
fi |
|||
|
|||
# Determine changes in repository and build modified packages. |
|||
build_script: | |
|||
if grep -qiP '^\s*%ci:reset-backlog\s*$' <(git log --format="%B" -n 1 "$CIRRUS_CHANGE_IN_REPO"); then |
|||
# If commit message contains line '%ci:reset-backlog', builds will be done |
|||
# only for current commit. |
|||
unset CIRRUS_LAST_GREEN_CHANGE |
|||
unset CIRRUS_BASE_SHA |
|||
fi |
|||
MODIFIED_PACKAGES=$(./scripts/build/ci/determine_git_changes.sh) |
|||
for package in $MODIFIED_PACKAGES; do |
|||
if [ -n "$CIRRUS_PR" ]; then |
|||
# Perform full builds for PR. |
|||
./build-package.sh -a "$TERMUX_ARCH" "$package" |
|||
else |
|||
./build-package.sh -I -a "$TERMUX_ARCH" "$package" |
|||
fi |
|||
done |
|||
|
|||
# Also make them downloadable from the UI. |
|||
output_artifacts: |
|||
path: "./debs/*.deb" |
@ -1,52 +0,0 @@ |
|||
image: termux/package-builder:latest |
|||
|
|||
stages: |
|||
- build |
|||
|
|||
## Common configuration for all build jobs. |
|||
## Variables BINTRAY_* should be unset to |
|||
## prevent leaking of sensitive information. |
|||
.job_template: &build_job |
|||
stage: build |
|||
script: |
|||
- unset BINTRAY_USERNAME |
|||
- unset BINTRAY_API_KEY |
|||
- unset BINTRAY_GPG_SUBJECT |
|||
- unset BINTRAY_GPG_PASSPHRASE |
|||
- | |
|||
for package in $(./scripts/build/ci/determine_git_changes.sh); do |
|||
./build-package.sh -q -i -a "$TERMUX_ARCH" "$package" || exit 1 |
|||
done |
|||
retry: |
|||
max: 2 |
|||
when: |
|||
- runner_system_failure |
|||
- unknown_failure |
|||
artifacts: |
|||
when: always |
|||
paths: |
|||
- debs |
|||
|
|||
## Building packages for AArch64. |
|||
build-aarch64: |
|||
<<: *build_job |
|||
variables: |
|||
TERMUX_ARCH: aarch64 |
|||
|
|||
## Building packages for ARM. |
|||
build-arm: |
|||
<<: *build_job |
|||
variables: |
|||
TERMUX_ARCH: arm |
|||
|
|||
## Building packages for i686. |
|||
build-i686: |
|||
<<: *build_job |
|||
variables: |
|||
TERMUX_ARCH: i686 |
|||
|
|||
## Building packages for x86_64. |
|||
build-x86_64: |
|||
<<: *build_job |
|||
variables: |
|||
TERMUX_ARCH: x86_64 |
@ -1,29 +0,0 @@ |
|||
language: generic |
|||
|
|||
## Force usage of "Ubuntu Xenial" as on older versions |
|||
## program "realpath" is not working for some reason. |
|||
os: linux |
|||
dist: xenial |
|||
services: docker |
|||
sudo: required |
|||
|
|||
## Split per-architecture builds into separate jobs. |
|||
env: |
|||
matrix: |
|||
- TERMUX_ARCH=aarch64 |
|||
- TERMUX_ARCH=arm |
|||
- TERMUX_ARCH=i686 |
|||
- TERMUX_ARCH=x86_64 |
|||
|
|||
## Build modified packages. |
|||
## Variables BINTRAY_* should be unset to |
|||
## prevent leaking of sensitive information. |
|||
script: |
|||
- unset BINTRAY_USERNAME |
|||
- unset BINTRAY_API_KEY |
|||
- unset BINTRAY_GPG_SUBJECT |
|||
- unset BINTRAY_GPG_PASSPHRASE |
|||
- | |
|||
for package in $(./scripts/build/ci/determine_git_changes.sh); do |
|||
./scripts/run-docker.sh ./build-package.sh -q -a "$TERMUX_ARCH" "$package" || exit 1 |
|||
done |
Loading…
Reference in new issue