diff options
Diffstat (limited to '.travis/build-pkgs')
-rwxr-xr-x | .travis/build-pkgs | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/.travis/build-pkgs b/.travis/build-pkgs deleted file mode 100755 index a8ed4bd27cb..00000000000 --- a/.travis/build-pkgs +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# vim: set ts=4: -set -eu - -. "$(dirname "$0")"/common.sh - -# Prints names of repositories (top-level directories), in defined order, -# that has been changed/created in the specified revisions. -changed_repos() { - local commit_ish="$1" - - local repo; for repo in main community testing non-free unmaintained; do - git diff-tree --exit-code "$commit_ish" -- $repo >/dev/null \ - || echo "$repo" - done -} - -# Prints names of repo's subdirs (i.e. abuilds) that contains APKBUILDs which -# has been changed/created in the specified revisions. The abuild names are -# printed in a build order. -changed_abuilds() { - local repo="$1" - local commit_ish="$2" - - # Get names of repo's subdirectories with modified APKBUILD, - # but ignore deleted ones. - local aports="$(git diff-tree -r --relative="$repo" --name-only --diff-filter=ACMR \ - "$commit_ish" -- '*APKBUILD' | xargs -I% dirname % | xargs)" - - # Sort abuilds by build order. - ap builddirs -d "$(pwd)/$repo" $aports 2>/dev/null | xargs -I% basename % -} - -# Replaces /etc/apk/repositories with repositories at $MIRROR_URI that are on -# the same or higher level than the given repo (main > community > testing) -# and after that runs `apk update`. -# -# $1: the target repository; main, community, or testing -set_repositories_for() { - local target_repo="$1" - local repos='' - - local repo; for repo in main community testing; do - repos="$repos $MIRROR_URI/$repo" - [ "$repo" = "$target_repo" ] && break - done - - sudo sh -c "printf '%s\n' $repos > /etc/apk/repositories" - sudo apk update -} - - -cd "$CLONE_DIR" - -# Workarounds for oddities of TRAVIS_COMMIT_RANGE that: -# - may be empty when pushing single commit, -# - uses triple-dot range instead of double-dot that we need, -# - contains SHA of old (unreachable) commit when rebasing. -commit_range="$(echo "${TRAVIS_COMMIT_RANGE:-}" | sed -E 's/\.{3}/../')" -if ! git rev-parse "$commit_range" >/dev/null 2>&1; then - commit_range="$(git rev-parse HEAD^1)..HEAD" -fi - -failed_pkgs='' -successful_pkgs='' - - -title "Building abuilds that has been modified/added between $commit_range\n" - -echo 'Diffstat:' -git --no-pager diff --color --stat "$commit_range" - -for repo in $(changed_repos "$commit_range"); do - set_repositories_for "$repo" - - for pkgname in $(changed_abuilds "$repo" "$commit_range"); do - qname="$repo/$pkgname" - - fold_start "$pkgname" "Building package $qname" - cd $qname - - if abuild -r; then - checkapk || : - successful_pkgs="$successful_pkgs $qname" - else - failed_pkgs="$failed_pkgs $qname" - fi - - cd - >/dev/null - fold_end "$pkgname" - done -done - -printf '\n----\n' -if [ -n "$successful_pkgs" ]; then - print -s1 -c2 "Successfully built packages:$successful_pkgs\n" -fi -if [ -n "$failed_pkgs" ]; then - die "Failed to build packages:$failed_pkgs" - -elif [ -z "$successful_pkgs" ]; then - print -s1 -c3 'No packages found to be built.' -fi |