diff --git a/build/local/build.sh b/build/local/build.sh index 7b8bf328f2..9530bf96b6 100755 --- a/build/local/build.sh +++ b/build/local/build.sh @@ -297,16 +297,16 @@ init() { # Create docker volume to persist package and build cache # Read more in the section about `rpmbuild`. - if ! docker volume ls | grep pmm-gobuild; then + if ! docker volume ls | grep pmm-gobuild >/dev/null; then docker volume create pmm-gobuild fi - if ! docker volume ls | grep pmm-gomod; then + if ! docker volume ls | grep pmm-gomod >/dev/null; then docker volume create pmm-gomod fi - if ! docker volume ls | grep pmm-yarn; then + if ! docker volume ls | grep pmm-yarn >/dev/null; then docker volume create pmm-yarn fi - if ! docker volume ls | grep pmm-dnf; then + if ! docker volume ls | grep pmm-dnf >/dev/null; then docker volume create pmm-dnf fi @@ -367,7 +367,7 @@ main() { fi # Building client docker image takes 17s - export DOCKER_CLIENT_TAG=local/pmm-client:${GIT_COMMIT} + export DOCKER_CLIENT_TAG=percona/pmm-client:${GIT_COMMIT} if [ "$NO_CLIENT_DOCKER" -eq 0 ]; then run_build_script build-client-docker fi @@ -384,15 +384,15 @@ main() { export FORCE_REBUILD=1 # Don't use S3 cache if [ "$NO_SERVER_RPM" -eq 0 ]; then run_build_script build-server-rpm percona-dashboards grafana-dashboards - # run_build_script build-server-rpm pmm-managed pmm - # run_build_script build-server-rpm percona-qan-api2 pmm - # run_build_script build-server-rpm pmm-update pmm - # run_build_script build-server-rpm pmm-dump - # run_build_script build-server-rpm vmproxy pmm + run_build_script build-server-rpm pmm-managed pmm + run_build_script build-server-rpm percona-qan-api2 pmm + run_build_script build-server-rpm pmm-update pmm + run_build_script build-server-rpm pmm-dump + run_build_script build-server-rpm vmproxy pmm # 3rd-party - # run_build_script build-server-rpm victoriametrics - # run_build_script build-server-rpm grafana + run_build_script build-server-rpm victoriametrics + run_build_script build-server-rpm grafana fi if [ "$NO_SERVER_DOCKER" -eq 0 ]; then diff --git a/build/scripts/build-client-packages b/build/scripts/build-client-packages index bc6e1a0244..f578a422d0 100755 --- a/build/scripts/build-client-packages +++ b/build/scripts/build-client-packages @@ -30,12 +30,6 @@ append_arg_to_args () { } parse_arguments() { - pick_args= - if test "$1" = PICK-ARGS-FROM-ARGV; then - pick_args=1 - shift - fi - for arg do val=`echo "$arg" | sed -e 's;^--[^=]*=;;'` optname=`echo "$arg" | sed -e 's/^\(--[^=]*\)=.*$/\1/'` @@ -51,9 +45,7 @@ parse_arguments() { --install_deps=*) INSTALL="$val" ;; --help) usage ;; *) - if test -n "$pick_args"; then - append_arg_to_args "$arg" - fi + append_arg_to_args "$arg" ;; esac done @@ -87,7 +79,7 @@ get_repos() { } check_workdir(){ - if [ "x$WORKDIR" = "x$CURDIR" ]; then + if [ "$WORKDIR" = "$CURDIR" ]; then echo >&2 "Current directory cannot be used for building!" exit 1 fi @@ -461,7 +453,7 @@ if [ -n "$pmm_release" ]; then DEB_RELEASE="$DEB_RELEASE.$pmm_release" fi -parse_arguments PICK-ARGS-FROM-ARGV "$@" +parse_arguments "$@" get_system install_deps diff --git a/build/scripts/build-client-rpm b/build/scripts/build-client-rpm index 517993a868..374b79c5ac 100755 --- a/build/scripts/build-client-rpm +++ b/build/scripts/build-client-rpm @@ -11,18 +11,13 @@ main() { echo ----------------------------------------- local IMAGE=${1:-${rpmbuild_docker_image}} - docker run --rm -v ${bin_dir}:/home/builder/bin -v ${root_dir}/results:/home/builder/results ${IMAGE} sh -c " + docker run --rm \ + -v ${bin_dir}:/home/builder/bin \ + -v ${root_dir}/results:/home/builder/results \ + ${IMAGE} sh -c " set -o errexit set -o xtrace - if grep -q 'CentOS Linux 7' /etc/os-release; then - # disable fastestmirror plugin, which mostly fails due to CentOS 7 being EOL - sed -i 's/enabled=1/enabled=0/g' /etc/yum/pluginconf.d/fastestmirror.conf - - sed -i -e 's/^\(mirrorlist\)/#\1/g' /etc/yum.repos.d/CentOS-Base.repo - sed -i -e 's|^#baseurl.*|baseurl=http://vault.centos.org/centos/\$releasever/os/\$basearch/|g' /etc/yum.repos.d/CentOS-Base.repo - fi - export pmm_version=$pmm_version export pmm_release=$pmm_release mkdir -p /tmp/pmm @@ -30,9 +25,7 @@ main() { /home/builder/bin/build-client-packages \ --builddir=/tmp/pmm \ --build_rpm=1 - - sudo_path chown -R $(id -u):$(id -g) /home/builder/results/rpm - " + " } main $* diff --git a/build/scripts/build-client-srpm b/build/scripts/build-client-srpm index f23a6e24f6..c68b949a33 100755 --- a/build/scripts/build-client-srpm +++ b/build/scripts/build-client-srpm @@ -15,23 +15,13 @@ main() { set -o errexit set -o xtrace - if grep -q 'CentOS Linux 7' /etc/os-release; then - # disable fastestmirror plugin, which mostly fails due to CentOS 7 being EOL - sed -i 's/enabled=1/enabled=0/g' /etc/yum/pluginconf.d/fastestmirror.conf - - sed -i -e 's/^\(mirrorlist\)/#\1/g' /etc/yum.repos.d/CentOS-Base.repo - sed -i -e 's|^#baseurl.*|baseurl=http://vault.centos.org/centos/\$releasever/os/\$basearch/|g' /etc/yum.repos.d/CentOS-Base.repo - fi - export pmm_release=$pmm_release - export sudo_path=\$(command -v sudo) - [[ ${IMAGE} = ${rpmbuild_docker_image} ]] || \$sudo_path yum -y install git rpm-build mkdir -p /tmp/pmm cd /home/builder/results + /home/builder/bin/build-client-packages \ --builddir=/tmp/pmm \ --build_src_rpm=1 - \$sudo_path chown -R $(id -u):$(id -g) /home/builder/results/srpm " } diff --git a/build/scripts/build-server-rpm b/build/scripts/build-server-rpm index a5a8cbb2d8..bb94358b23 100755 --- a/build/scripts/build-server-rpm +++ b/build/scripts/build-server-rpm @@ -9,7 +9,9 @@ get_rpm_version() { local spec_name=$1 local rpm_version=$( - docker run --rm -v ${rpmbuild_dir}/SOURCES:/home/builder/rpm/SOURCES ${rpmbuild_docker_image} sh -c " + docker run --rm \ + --platform=${platform} \ + -v ${rpmbuild_dir}/SOURCES:/home/builder/rpm/SOURCES ${rpmbuild_docker_image} sh -c " rpmspec -q --qf '%{version}-%{release}\n' SOURCES/${spec_name}.spec \ | sed -re 's/\.[0-9]{10}\././; s/.${rpmbuild_dist}//' \ | head -1 @@ -130,13 +132,13 @@ build() { sudo chown -R builder:builder /home/builder/rpm/RPMS /home/builder/rpm/SOURCES if [ ! -w /home/builder/.cache/go-build ]; then - sudo chown builder /home/builder/.cache/go-build + sudo chown builder:builder /home/builder/.cache/go-build fi if [ ! -w /home/builder/go/pkg/mod ]; then - sudo chown builder /home/builder/go/pkg/mod + sudo chown builder:builder /home/builder/go/pkg/mod fi - if [ ! -w pmm-yarn:/home/builder/.cache/yarn ]; then - sudo chown builder /home/builder/.cache/yarn + if [ ! -w /home/builder/.cache/yarn ]; then + sudo chown builder:builder /home/builder/.cache/yarn fi # Add 'Epoch' to spec file to prevent update of rpms which are built in PR build @@ -167,15 +169,14 @@ build() { -ba SOURCES/${spec_name}.spec rm -f SOURCES/${spec_name}.spec* - sudo chown -R builder:builder /home/builder/rpm/RPMS /home/builder/rpm/SOURCES " # TODO: see if this is even needed # cp ${rpms_dir}/${spec_name}-${rpm_version}/*/*.rpm ${rpms_dir} - if [ -n "$LOCAL_BUILD" ]; then - return + if [ "$LOCAL_BUILD" -ne 1 ]; then echo "Finished building Server RPMs, spec_name: ${spec_name}.spec, repo_name: ${repo_name}" + return fi if ! command -v aws &> /dev/null; then