termux-packages/.gitlab-ci.yml

93 lines
1.9 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:
- |
if [ -n "$SCHEDULED_REPOSITORY_CLEANUP" ]; then
./scripts/package_uploader.sh --cleanup $(cd ./packages; echo *)
fi
retry:
max: 2
when:
- runner_system_failure
- unknown_failure