#!/bin/bash # AppVeyor and Drone Continuous Integration for MSYS2 # Author: Renato Silva # Author: Qian Hong # Configure cd "$(dirname "$0")" source 'ci-library.sh' deploy_enabled && mkdir artifacts git_config user.email 'ci@msys2.org' git_config user.name 'MSYS2 Continuous Integration' git remote add upstream 'https://github.com/Alexpux/MINGW-packages' git fetch --quiet upstream # reduce time required to install packages by disabling pacman's disk space checking sed -i 's/^CheckSpace/#CheckSpace/g' /etc/pacman.conf # Detect list_commits || failure 'Could not detect added commits' list_packages || failure 'Could not detect changed files' message 'Processing changes' "${commits[@]}" test -z "${packages}" && success 'No changes in package recipes' define_build_order || failure 'Could not determine build order' # Build message 'Building packages' "${packages[@]}" execute 'Updating system' update_system execute 'Approving recipe quality' check_recipe_quality for package in "${packages[@]}"; do execute 'Building binary' makepkg-mingw --noconfirm --noprogressbar --skippgpcheck --nocheck --syncdeps --rmdeps --cleanbuild execute 'Building source' makepkg --noconfirm --noprogressbar --skippgpcheck --allsource --config '/etc/makepkg_mingw64.conf' execute 'Installing' yes:pacman --noprogressbar --upgrade *.pkg.tar.xz deploy_enabled && mv "${package}"/*.pkg.tar.xz artifacts deploy_enabled && mv "${package}"/*.src.tar.gz artifacts unset package done # Deploy deploy_enabled && cd artifacts || success 'All packages built successfully' execute 'Generating pacman repository' create_pacman_repository "${PACMAN_REPOSITORY_NAME:-ci-build}" execute 'Generating build references' create_build_references "${PACMAN_REPOSITORY_NAME:-ci-build}" execute 'SHA-256 checksums' sha256sum * success 'All artifacts built successfully'