From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-3.6 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,T_RP_MATCHES_RCVD shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by dcvr.yhbt.net (Postfix) with ESMTP id 249331F404 for ; Tue, 23 Jan 2018 16:26:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751408AbeAWQ0g (ORCPT ); Tue, 23 Jan 2018 11:26:36 -0500 Received: from cloud.peff.net ([104.130.231.41]:54426 "HELO cloud.peff.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1751234AbeAWQ0g (ORCPT ); Tue, 23 Jan 2018 11:26:36 -0500 Received: (qmail 24323 invoked by uid 109); 23 Jan 2018 16:26:35 -0000 Received: from Unknown (HELO peff.net) (10.0.1.2) by cloud.peff.net (qpsmtpd/0.94) with SMTP; Tue, 23 Jan 2018 16:26:35 +0000 Authentication-Results: cloud.peff.net; auth=none Received: (qmail 16891 invoked by uid 111); 23 Jan 2018 16:27:13 -0000 Received: from sigill.intra.peff.net (HELO sigill.intra.peff.net) (10.0.0.7) by peff.net (qpsmtpd/0.94) with (ECDHE-RSA-AES256-GCM-SHA384 encrypted) SMTP; Tue, 23 Jan 2018 11:27:13 -0500 Authentication-Results: peff.net; auth=none Received: by sigill.intra.peff.net (sSMTP sendmail emulation); Tue, 23 Jan 2018 11:26:33 -0500 Date: Tue, 23 Jan 2018 11:26:33 -0500 From: Jeff King To: SZEDER =?utf-8?B?R8OhYm9y?= Cc: Junio C Hamano , Duy Nguyen , Lars Schneider , Johannes Schindelin , Thomas Gummerer , Brandon Williams , git@vger.kernel.org Subject: Re: [PATCH 2/5] travis-ci: use 'set -e' in the 32 bit Linux build job Message-ID: <20180123162633.GE13068@sigill.intra.peff.net> References: <20180122133220.18587-1-szeder.dev@gmail.com> <20180122133220.18587-3-szeder.dev@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20180122133220.18587-3-szeder.dev@gmail.com> Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org On Mon, Jan 22, 2018 at 02:32:17PM +0100, SZEDER Gábor wrote: > All 'ci/*' scripts use 'set -e' to break the build job if a command > fails, except 'ci/run-linux32-build.sh' which relies on the && chain > to do the same. This inconsistency among the 'ci/*' scripts is asking > for trouble: I forgot about the && chain more than once while working > on this patch series. I think this actually fixes a bug: > # Update packages to the latest available versions > linux32 --32bit i386 sh -c ' > apt update >/dev/null && > apt install -y build-essential libcurl4-openssl-dev libssl-dev \ > libexpat-dev gettext python >/dev/null > -' && > +' If this step failed, then... > # If this script runs inside a docker container, then all commands are > # usually executed as root. Consequently, the host user might not be > # able to access the test output files. > # If a host user id is given, then create a user "ci" with the host user > # id to make everything accessible to the host user. > -HOST_UID=$1 && > -CI_USER=$USER && > -test -z $HOST_UID || (CI_USER="ci" && useradd -u $HOST_UID $CI_USER) && We'd have triggered the right-hand side of this "||", and run the rest of the script. The whole "||" block should have been inside {}. But after your patch, it should be fine with "set -e". Although... > +HOST_UID=$1 > +CI_USER=$USER > +test -z $HOST_UID || (CI_USER="ci" && useradd -u $HOST_UID $CI_USER) If this "useradd" step fails, we wouldn't abort the script, because it's part of a conditional. You'd need a manual "|| exit 1" at the end of this line. Or to use a real "if" block. Reading this line, I'm also slightly confused by setting CI_USER in the subshell, and then only using it once. Should it be respecting the outer CI_USER setting? If not, should it just hard-code "ci" on the useradd command-line? But that has nothing to do with your patch here. -Peff