90 lines
1.8 KiB
YAML
90 lines
1.8 KiB
YAML
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:
|
|
- ./scripts/package_uploader.sh --cleanup $(cd ./packages; echo *)
|
|
retry:
|
|
max: 2
|
|
when:
|
|
- runner_system_failure
|
|
- unknown_failure
|