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