git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: "SZEDER Gábor" <szeder.dev@gmail.com>
Cc: Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>,
	git@vger.kernel.org
Subject: Re: [PATCH 3/5] ci: configure GitHub Actions for CI/PR
Date: Sat, 4 Apr 2020 19:59:37 +0200 (CEST)	[thread overview]
Message-ID: <nycvar.QRO.7.76.6.2004041952050.46@tvgsbejvaqbjf.bet> (raw)
In-Reply-To: <20200403220732.GL2224@szeder.dev>

[-- Attachment #1: Type: text/plain, Size: 7471 bytes --]

Hi Gábor,

On Sat, 4 Apr 2020, SZEDER Gábor wrote:

> On Tue, Mar 31, 2020 at 12:48:31PM +0000, Johannes Schindelin via GitGitGadget wrote:
> > From: Johannes Schindelin <johannes.schindelin@gmx.de>
> >
> > This patch adds CI builds via GitHub Actions. While the underlying
> > technology is at least _very_ similar to that of Azure Pipelines, GitHub
> > Actions are much easier to set up than Azure Pipelines: no need to
> > install a GitHub App, no need to set up an Azure DevOps account, all you
> > need to do is push to your fork on GitHub.
>
> And then receive emails from GitHub if a build fails, even though you
> never asked for it?  Well, I've always preferred opt-in instead of
> opt-out.

This complaint is misdirected.

You can easily disable it if you want to
(https://help.github.com/en/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository)
and for the vast majority of Git contributors, the default to run this
workflow is totally the best idea.

> Btw, does it offer direct shell access for debugging?

There is https://github.com/marketplace/actions/debugging-with-tmate

> > Therefore, it makes a lot of sense for us to have a working GitHub
> > Actions setup.
> >
> > While transmogrifying `azure-pipelines.yml` into
> > `.github/workflows/main.yml`, we also use the opportunity to accelerate
> > the step that sets up a minimal subset of Git for Windows' SDK in the
> > Windows-build job: we now download a `.tar.xz` stored in Azure Blobs and
> > extract it simultaneously (by calling `curl` and piping the result to
> > `tar`, decompressing via `xz`, all three utilities being available by
> > grace of using Git for Windows' Bash that is installed on the build
> > agents). This accelerates that step from ~1m50s to ~7s.
> >
> > Also, we do away with the parts that try to mount a file share on which
> > `prove` can store data between runs.
>
> ... and on which we store the list of already successfully tested
> trees, so when a branch is rebased changing e.g. only the commit
> messages but leaving the code intact, then the CI won't run
> unnecessary builds.

In practice, I saw this Pipeline being run time and time again, as the
tree _did_ change most of the time.

A pipe dream of mine is to use actual Test Impact Analysis so that we
truly can run only the affected tests, but that seems so, so far away.

> > It is just too complicated to set
> > up, so it's little return on investment there.
> >
> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> > ---
>
> > +  linux-clang:
> > +    runs-on: ubuntu-latest
> > +    steps:
> > +    - uses: actions/checkout@v1
> > +    - name: install dependencies
> > +      env:
> > +        CC: clang
> > +      run: |
> > +        sudo apt-get update &&
> > +        sudo apt-get -y install git gcc make libssl-dev libcurl4-openssl-dev libexpat-dev tcl tk gettext git-email zlib1g-dev apache2-bin &&
>
> Why install all these dependencies here, when the very next command is
> 'ci/install-dependencies.sh', whose purpose is to install the
> dependencies?

I copy/pasted these from `azure-pipelines.yml`, and agree that they should
be handled via `ci/install-dependencies.sh` instead.

Danh (is this the correct way to address you?), if you want to have a look
at that, go for it. Otherwise I'll try to find some time to do that
myself.

Thanks,
Dscho

> > +        ci/install-dependencies.sh
> > +    - name: ci/run-build-and-test.sh
> > +      env:
> > +        CC: clang
> > +      run: |
> > +        ci/run-build-and-tests.sh || {
> > +          ci/print-test-failures.sh
> > +          exit 1
> > +        }
> > +  linux-gcc:
> > +    runs-on: ubuntu-latest
> > +    steps:
> > +    - uses: actions/checkout@v1
> > +    - name: install dependencies
> > +      run: |
> > +        sudo add-apt-repository ppa:ubuntu-toolchain-r/test &&
> > +        sudo apt-get update &&
> > +        sudo apt-get -y install git gcc make libssl-dev libcurl4-openssl-dev libexpat-dev tcl tk gettext git-email zlib1g-dev apache2 language-pack-is git-svn gcc-8 &&
>
> Likewise, and here you install some additional packages compared to
> the clang job as well.
>
> > +        ci/install-dependencies.sh
> > +    - name: ci/run-build-and-tests.sh
> > +      run: |
> > +        ci/run-build-and-tests.sh || {
> > +          ci/print-test-failures.sh
> > +          exit 1
> > +        }
> > +  osx-clang:
> > +    runs-on: macos-latest
> > +    steps:
> > +    - uses: actions/checkout@v1
> > +    - name: install dependencies
> > +      env:
> > +        CC: clang
> > +      run: ci/install-dependencies.sh
> > +    - name: ci/run-build-and-tests.sh
> > +      env:
> > +        CC: clang
> > +      run: |
> > +        ci/run-build-and-tests.sh || {
> > +          ci/print-test-failures.sh
> > +          exit 1
> > +        }
> > +  osx-gcc:
> > +    runs-on: macos-latest
> > +    steps:
> > +    - uses: actions/checkout@v1
> > +    - name: install dependencies
> > +      run: ci/install-dependencies.sh
> > +    - name: ci/run-build-and-tests.sh
> > +      run: |
> > +        ci/run-build-and-tests.sh || {
> > +          ci/print-test-failures.sh
> > +          exit 1
> > +        }
> > +  GETTEXT_POISON:
> > +    runs-on: ubuntu-latest
> > +    steps:
> > +    - uses: actions/checkout@v1
> > +    - name: install dependencies
> > +      run: |
> > +        sudo apt-get update &&
> > +        sudo apt-get -y install git gcc make libssl-dev libcurl4-openssl-dev libexpat-dev tcl tk gettext git-email zlib1g-dev
> > +    - name: ci/run-build-and-tests.sh
> > +      env:
> > +        jobname: GETTEXT_POISON
> > +      run: |
> > +        ci/run-build-and-tests.sh || {
> > +          ci/print-test-failures.sh
> > +          exit 1
> > +        }
> > +  linux32:
> > +    runs-on: ubuntu-latest
> > +    steps:
> > +    - uses: actions/checkout@v1
> > +    - name: ci/run-linux32-docker.sh
> > +      run: |
> > +        res=0
> > +        sudo GITHUB_ACTIONS="$GITHUB_ACTIONS" RUNNER_OS="$RUNNER_OS" GITHUB_REF="$GITHUB_REF" GITHUB_SHA="$GITHUB_SHA" GITHUB_REPOSITORY="$GITHUB_REPOSITORY" GITHUB_RUN_ID="$GITHUB_RUN_ID" CC=$CC MAKEFLAGS="$MAKEFLAGS" bash -lxc ci/run-linux32-docker.sh || res=1
> > +  static-analysis:
> > +    runs-on: ubuntu-latest
> > +    steps:
> > +    - uses: actions/checkout@v1
> > +    - name: install dependencies
> > +      run: |
> > +        sudo apt-get update &&
> > +        sudo apt-get install -y coccinelle libcurl4-openssl-dev libssl-dev libexpat-dev gettext
>
> Likewise, except here you don't even run 'ci/install-dependencies.sh'
> (which would install the same packages, btw.)
>
> > +    - name: ci/run-static-analysis.sh
> > +      env:
> > +        jobname: StaticAnalysis
> > +      run: ci/run-static-analysis.sh
> > +  documentation:
> > +    runs-on: ubuntu-latest
> > +    steps:
> > +    - uses: actions/checkout@v1
> > +    - name: install dependencies
> > +      run: |
> > +        sudo apt-get update &&
> > +        sudo apt-get install -y asciidoc xmlto asciidoctor docbook-xsl-ns
> > +    - name: ci/test-documentation.sh
> > +      env:
> > +        ALREADY_HAVE_ASCIIDOCTOR: yes.
> > +        jobname: Documentation
> > +      run: ci/test-documentation.sh
> > --
> > gitgitgadget
> >
>

  reply	other threads:[~2020-04-04 17:59 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-31 12:48 [PATCH 0/5] ci: replace our Azure Pipeline by GitHub Actions Johannes Schindelin via GitGitGadget
2020-03-31 12:48 ` [PATCH 1/5] ci/lib: if CI type is unknown, show the environment variables Johannes Schindelin via GitGitGadget
2020-03-31 12:48 ` [PATCH 2/5] ci/lib: allow running in GitHub Actions Johannes Schindelin via GitGitGadget
2020-04-03  8:46   ` SZEDER Gábor
2020-04-04 20:08     ` Johannes Schindelin
2020-04-05  0:01       ` Danh Doan
2020-04-07 22:41         ` Johannes Schindelin
2020-04-10 15:31       ` SZEDER Gábor
2020-04-10 19:10         ` Junio C Hamano
2020-04-12 21:42           ` Johannes Schindelin
2020-04-12 22:12             ` Junio C Hamano
2020-04-12 22:25               ` Junio C Hamano
2020-03-31 12:48 ` [PATCH 3/5] ci: configure GitHub Actions for CI/PR Johannes Schindelin via GitGitGadget
2020-04-03 22:07   ` SZEDER Gábor
2020-04-04 17:59     ` Johannes Schindelin [this message]
2020-04-04 23:55       ` Danh Doan
2020-03-31 12:48 ` [PATCH 4/5] README: add a build badge for the GitHub Actions runs Johannes Schindelin via GitGitGadget
2020-03-31 12:48 ` [PATCH 5/5] ci: retire the Azure Pipelines definition Johannes Schindelin via GitGitGadget
2020-03-31 14:46 ` [PATCH 0/5] ci: replace our Azure Pipeline by GitHub Actions Danh Doan
2020-03-31 18:47   ` Junio C Hamano
2020-04-01 15:55 ` [PATCH v2 0/6] " Đoàn Trần Công Danh
2020-04-01 15:55   ` [PATCH v2 1/6] ci/lib: if CI type is unknown, show the environment variables Đoàn Trần Công Danh
2020-04-01 15:55   ` [PATCH v2 2/6] ci/lib: allow running in GitHub Actions Đoàn Trần Công Danh
2020-04-01 15:55   ` [PATCH v2 3/6] ci/lib: set TERM environment variable if not exist Đoàn Trần Công Danh
2020-04-01 15:55   ` [PATCH v2 4/6] ci: configure GitHub Actions for CI/PR Đoàn Trần Công Danh
2020-04-01 15:55   ` [PATCH v2 5/6] README: add a build badge for the GitHub Actions runs Đoàn Trần Công Danh
2020-04-01 15:55   ` [PATCH v2 6/6] ci: retire the Azure Pipelines definition Đoàn Trần Công Danh
2020-04-01 21:23   ` [PATCH v2 0/6] ci: replace our Azure Pipeline by GitHub Actions Junio C Hamano
2020-04-02  0:14     ` Danh Doan
2020-04-02 13:16   ` [PATCH v3 " Đoàn Trần Công Danh
2020-04-02 13:16     ` [PATCH v3 1/6] ci/lib: if CI type is unknown, show the environment variables Đoàn Trần Công Danh
2020-04-02 13:16     ` [PATCH v3 2/6] ci/lib: allow running in GitHub Actions Đoàn Trần Công Danh
2020-04-02 13:16     ` [PATCH v3 3/6] ci/lib: set TERM environment variable if not exist Đoàn Trần Công Danh
2020-04-02 13:16     ` [PATCH v3 4/6] ci: configure GitHub Actions for CI/PR Đoàn Trần Công Danh
2020-04-02 13:16     ` [PATCH v3 5/6] README: add a build badge for the GitHub Actions runs Đoàn Trần Công Danh
2020-04-02 13:17     ` [PATCH v3 6/6] ci: retire the Azure Pipelines definition Đoàn Trần Công Danh
2020-04-08  4:05 ` [PATCH v4 00/12] ci: replace our Azure Pipeline by GitHub Actions Đoàn Trần Công Danh
2020-04-08  4:05   ` [PATCH v4 01/12] ci/lib: if CI type is unknown, show the environment variables Đoàn Trần Công Danh
2020-04-08  4:05   ` [PATCH v4 02/12] ci/lib: allow running in GitHub Actions Đoàn Trần Công Danh
2020-04-08  4:05   ` [PATCH v4 03/12] ci/lib: set TERM environment variable if not exist Đoàn Trần Công Danh
2020-04-08  4:05   ` [PATCH v4 04/12] ci: fix the `jobname` of the `GETTEXT_POISON` job Đoàn Trần Công Danh
2020-04-08  4:05   ` [PATCH v4 05/12] ci: explicit install all required packages Đoàn Trần Công Danh
2020-04-10 15:53     ` SZEDER Gábor
2020-04-10 16:07       ` Danh Doan
2020-04-10 16:21         ` Junio C Hamano
2020-04-08  4:05   ` [PATCH v4 06/12] ci: run gem with sudo to install asciidoctor Đoàn Trần Công Danh
2020-04-08  4:05   ` [PATCH v4 07/12] ci: configure GitHub Actions for CI/PR Đoàn Trần Công Danh
2020-04-08  4:05   ` [PATCH v4 08/12] README: add a build badge for the GitHub Actions runs Đoàn Trần Công Danh
2020-04-08  4:05   ` [PATCH v4 09/12] ci: retire the Azure Pipelines definition Đoàn Trần Công Danh
2020-04-08  4:05   ` [PATCH v4 10/12] tests: when run in Bash, annotate test failures with file name/line number Đoàn Trần Công Danh
2020-04-08  4:05   ` [PATCH v4 11/12] ci: add a problem matcher for GitHub Actions Đoàn Trần Công Danh
2020-04-08  4:05   ` [PATCH v4 12/12] ci: let GitHub Actions upload failed tests' directories Đoàn Trần Công Danh
2020-04-09 21:19   ` [PATCH v4 00/12] ci: replace our Azure Pipeline by GitHub Actions Junio C Hamano
2020-04-10 14:34     ` Johannes Schindelin
2020-04-10 14:37       ` Johannes Schindelin
2020-04-10 17:35         ` Danh Doan
2020-04-10 15:42       ` Junio C Hamano
2020-04-10 17:41         ` Danh Doan
2020-04-16  0:49           ` Junio C Hamano
2020-04-16  1:28             ` fixing ci failure of 'pu' with the es/bugreport topic Junio C Hamano
2020-04-16  1:55               ` Emily Shaffer
2020-04-16  3:20                 ` Junio C Hamano
2020-04-16  3:45                 ` Elijah Newren
2020-04-16  4:10                   ` Emily Shaffer
2020-04-16  4:57                     ` Junio C Hamano
2020-04-16 11:26                   ` Danh Doan
2020-04-16 12:05                     ` Johannes Schindelin
2020-04-16 12:08             ` [PATCH v4 00/12] ci: replace our Azure Pipeline by GitHub Actions Johannes Schindelin
2020-04-16 15:55               ` Junio C Hamano
2020-04-10 17:18 ` [PATCH v5 " Đoàn Trần Công Danh
2020-04-10 17:18   ` [PATCH v5 01/12] ci/lib: if CI type is unknown, show the environment variables Đoàn Trần Công Danh
2020-04-10 17:18   ` [PATCH v5 02/12] ci/lib: allow running in GitHub Actions Đoàn Trần Công Danh
2020-04-10 17:18   ` [PATCH v5 03/12] ci/lib: set TERM environment variable if not exist Đoàn Trần Công Danh
2020-04-10 17:18   ` [PATCH v5 04/12] ci: fix the `jobname` of the `GETTEXT_POISON` job Đoàn Trần Công Danh
2020-04-10 17:18   ` [PATCH v5 05/12] ci: explicit install all required packages Đoàn Trần Công Danh
2020-04-10 17:18   ` [PATCH v5 06/12] ci: run gem with sudo to install asciidoctor Đoàn Trần Công Danh
2020-04-10 17:18   ` [PATCH v5 07/12] ci: configure GitHub Actions for CI/PR Đoàn Trần Công Danh
2020-04-10 17:18   ` [PATCH v5 08/12] README: add a build badge for the GitHub Actions runs Đoàn Trần Công Danh
2020-04-10 17:18   ` [PATCH v5 09/12] ci: retire the Azure Pipelines definition Đoàn Trần Công Danh
2020-04-10 17:18   ` [PATCH v5 10/12] tests: when run in Bash, annotate test failures with file name/line number Đoàn Trần Công Danh
2020-05-04 17:46     ` Carlo Marcelo Arenas Belón
2020-05-04 23:25       ` Danh Doan
2020-05-05  0:35         ` Junio C Hamano
2020-05-06  7:30           ` Carlo Marcelo Arenas Belón
2020-05-06 12:54             ` Johannes Schindelin
2020-05-06 13:46               ` Carlo Marcelo Arenas Belón
2020-05-06 14:33                 ` Johannes Schindelin
2020-05-07  6:10                   ` Carlo Marcelo Arenas Belón
2020-05-06 16:33                 ` Junio C Hamano
2020-05-05  0:54         ` Carlo Marcelo Arenas Belón
2020-05-15 13:16     ` Alban Gruin
2020-05-15 15:00       ` [RFC PATCH] t: move metadata into TAP test description Carlo Marcelo Arenas Belón
2020-05-15 15:08         ` Eric Sunshine
2020-05-15 15:38         ` Alban Gruin
2020-05-15 15:45           ` Carlo Marcelo Arenas Belón
2020-05-15 16:50             ` Junio C Hamano
2020-05-15 17:14               ` Carlo Marcelo Arenas Belón
2020-05-15 17:23                 ` Junio C Hamano
2020-05-15 22:42                   ` Johannes Schindelin
2020-05-15 22:57                     ` Junio C Hamano
2020-05-15 17:21               ` [PATCH 0/2] Unbreak TAP output under bash Junio C Hamano
2020-05-15 17:21                 ` [PATCH 1/2] Revert "t/test_lib: avoid naked bash arrays in file_lineno" Junio C Hamano
2020-05-15 17:21                 ` [PATCH 2/2] Revert "tests: when run in Bash, annotate test failures with file name/line number" Junio C Hamano
2020-05-15 16:38         ` [RFC PATCH] t: move metadata into TAP test description Junio C Hamano
2020-05-15 17:22           ` Carlo Marcelo Arenas Belón
2020-05-15 19:04         ` Alban Gruin
2020-05-15 15:28       ` [PATCH v5 10/12] tests: when run in Bash, annotate test failures with file name/line number Carlo Marcelo Arenas Belón
2020-05-15 15:33         ` Alban Gruin
2020-04-10 17:18   ` [PATCH v5 11/12] ci: add a problem matcher for GitHub Actions Đoàn Trần Công Danh
2020-04-10 17:18   ` [PATCH v5 12/12] ci: let GitHub Actions upload failed tests' directories Đoàn Trần Công Danh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=nycvar.QRO.7.76.6.2004041952050.46@tvgsbejvaqbjf.bet \
    --to=johannes.schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=szeder.dev@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).