Leonid Plyushch
6 years ago
5 changed files with 93 additions and 123 deletions
@ -0,0 +1,79 @@ |
|||
container: |
|||
image: termux/package-builder:latest |
|||
cpu: 8 |
|||
memory: 16 |
|||
|
|||
# Build packages. |
|||
build_task: |
|||
# Run task only if packages were modified. |
|||
# Note that similar check is done in 'scripts/build/ci/determine_git_changes.sh'. |
|||
only_if: "changesInclude('packages/**')" |
|||
|
|||
# 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: | |
|||
for package in $(./scripts/build/ci/determine_git_changes.sh); 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 |
|||
|
|||
# Make built packages available for the next tasks. |
|||
share_packages_cache: |
|||
folder: "./debs" |
|||
fingerprint_script: echo "$CIRRUS_CHANGE_IN_REPO" |
|||
|
|||
# Also make them downloadable from the UI. |
|||
store_packages_artifacts: |
|||
path: "./debs/*.deb" |
|||
|
|||
# Publish packages to Bintray. |
|||
publish_task: |
|||
only_if: $CIRRUS_BRANCH == 'master' |
|||
|
|||
timeout_in: 30m |
|||
|
|||
depends_on: |
|||
- build |
|||
|
|||
environment: |
|||
BINTRAY_USERNAME: ENCRYPTED[5f767b4b9d6437b98e81c7a9c510363be8c71458efe17b73692898f5bd2720b359a962677b68930e298febf440bea75b] |
|||
BINTRAY_API_KEY: ENCRYPTED[c056d345d7a15f90b818dd9382129c27ce4ce2b802831ec890786414fc214c4203714c353a8fef3a6b9b1b1d68e4685e] |
|||
BINTRAY_GPG_SUBJECT: ENCRYPTED[adefd71182b37f4cfe2ef734bb400f5d273c562d45536edce46fd63d260a0c0717df7e73f2bb492afb4f5c0ef6d0460d] |
|||
BINTRAY_GPG_PASSPHRASE: ENCRYPTED[854c09c78b3318a30d3c9094b1010dfebd4c71ad9173b64479eaafaa7e941b050afaa936ad635af3709382492828316f] |
|||
|
|||
# Retrieve built packages. |
|||
share_packages_cache: |
|||
folder: "./debs" |
|||
fingerprint_script: echo "$CIRRUS_CHANGE_IN_REPO" |
|||
|
|||
# Publish. |
|||
upload_to_bintray_script: | |
|||
MODIFIED_PACKAGES=$(./scripts/build/ci/determine_git_changes.sh) |
|||
if [ -n "$MODIFIED_PACKAGES" ]; then |
|||
./scripts/package_uploader.sh $MODIFIED_PACKAGES |
|||
fi |
@ -1,92 +0,0 @@ |
|||
image: termux/package-builder:latest |
|||
|
|||
stages: |
|||
- build |
|||
- deploy |
|||
|
|||
## Common configuration for all build jobs. |
|||
## Variables BINTRAY_* should be unset to |
|||
## prevent leaking of sensitive information. |
|||
.job_template: &build_job |
|||
stage: build |
|||
except: |
|||
- schedules |
|||
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 |
|||
|
|||
## Submit build packages to repository. |
|||
upload-packages: |
|||
stage: deploy |
|||
only: |
|||
- master@termux-mirror/termux-packages |
|||
except: |
|||
- schedules |
|||
script: |
|||
- MODIFIED_PACKAGES=$(./scripts/build/ci/determine_git_changes.sh) |
|||
- | |
|||
if [ -n "$MODIFIED_PACKAGES" ]; then |
|||
./scripts/package_uploader.sh $MODIFIED_PACKAGES |
|||
else |
|||
exit 0 |
|||
fi |
|||
retry: |
|||
max: 2 |
|||
when: |
|||
- runner_system_failure |
|||
- unknown_failure |
|||
|
|||
## Remove old versions from the APT repository. |
|||
repository-cleanup: |
|||
stage: deploy |
|||
only: |
|||
- schedules |
|||
script: |
|||
- | |
|||
if [ -n "$SCHEDULED_REPOSITORY_CLEANUP" ]; then |
|||
./scripts/package_uploader.sh --cleanup $(cd ./packages; echo *) |
|||
fi |
|||
retry: |
|||
max: 2 |
|||
when: |
|||
- runner_system_failure |
|||
- unknown_failure |
@ -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