From: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: [PATCH v2 0/2] Do not skip tagged revisions in the GitHub workflow runs
Date: Thu, 08 Oct 2020 15:29:33 +0000 [thread overview]
Message-ID: <pull.619.v2.git.1602170976.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.619.git.1587748660308.gitgitgadget@gmail.com>
Whenever a GitGitGadget Pull Request is sent to the Git mailing list, a tag
is pushed to gitgitgadget/git to commemorate that iteration.
The push event caused for that triggers the CI/PR workflow, and reveals a
pretty old bug where the windows-build steps are skipped for tagged
revisions, but the windows-test steps are not (and will therefore fail).
That means, of course, that every GitGitGadget PR is marked with a failed
test once it is submitted.
This patch series is designed to address this issue, and is based on
am/ci-wsfix (the initial round was based on
dd/ci-swap-azure-pipelines-with-github-actions but would now cause merge
conflicts).
Changes since v1:
* Rather than returning early from skip_branch_tip_with_tag(), we now skip
the function call altogether when run in a GitHub workflow.
* The intention of the tag skipping was replicated by introducing another
check in ci-config: is there a successful workflow run for the same
commit (or at least for the same tree)? If yes, skip, referring to that
successful run.
Johannes Schindelin (2):
ci: skip GitHub workflow runs for already-tested commits/trees
ci: do not skip tagged revisions in GitHub workflows
.github/workflows/main.yml | 39 +++++++++++++++++++++++++++++++++++++-
ci/lib.sh | 2 ++
2 files changed, 40 insertions(+), 1 deletion(-)
base-commit: 055747cd75c0904cc8122e5c12bd45e9f4743c30
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-619%2Fdscho%2Fgithub-workflows-and-tags-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-619/dscho/github-workflows-and-tags-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/619
Range-diff vs v1:
-: ---------- > 1: 914868d558 ci: skip GitHub workflow runs for already-tested commits/trees
1: d9823f82ee ! 2: 931a2b8482 ci: fix GitHub workflow when on a tagged revision
@@ Metadata
Author: Johannes Schindelin <Johannes.Schindelin@gmx.de>
## Commit message ##
- ci: fix GitHub workflow when on a tagged revision
+ ci: do not skip tagged revisions in GitHub workflows
When `master` is tagged, and then both `master` and the tag are pushed,
Travis CI will happily build both. That is a waste of energy, which is
why we skip the build for `master` in that case.
- However, our GitHub workflow does not trigger on tags, therefore, this
- logic results in a missing build for that revision.
+ Our GitHub workflow is also triggered by tags. However, the run would
+ fail because the `windows-test` jobs are _not_ skipped on tags, but the
+ `windows-build` job _is skipped (and therefore fails to upload the
+ build artifacts needed by the test jobs).
- Even worse: the run would _fail_ because we would skip the Windows
- build, there are no artifacts to publish, and therefore no artifacts to
- download in the Windows test jobs.
+ In addition, we just added logic to our GitHub workflow that will skip
+ runs altogether if there is already a successful run for the same commit
+ or at least for the same tree.
- Let's just change the GitHub workflow to skip the logic to skip
- revisions that are tagged.
+ Let's just change the GitHub workflow to no longer specifically skip
+ tagged revisions.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
## ci/lib.sh ##
-@@
- # Library of functions shared by all CI scripts
-
- skip_branch_tip_with_tag () {
-+ test -z "$DONT_SKIP_TAGS" || return 0
- # Sometimes, a branch is pushed at the same time the tag that points
- # at the same commit as the tip of the branch is pushed, and building
- # both at the same time is a waste.
@@ ci/lib.sh: then
+ CI_REPO_SLUG="$GITHUB_REPOSITORY"
+ CI_JOB_ID="$GITHUB_RUN_ID"
CC="${CC:-gcc}"
++ DONT_SKIP_TAGS=t
cache_dir="$HOME/none"
-+ DONT_SKIP_TAGS=t
- export GIT_PROVE_OPTS="--timer --jobs 10"
- export GIT_TEST_OPTS="--verbose-log -x"
+@@ ci/lib.sh: good_trees_file="$cache_dir/good-trees"
+
+ mkdir -p "$cache_dir"
+
++test -n "${DONT_SKIP_TAGS-}" ||
+ skip_branch_tip_with_tag
+ skip_good_tree
+
--
gitgitgadget
next prev parent reply other threads:[~2020-10-08 15:29 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-24 17:17 [PATCH] ci: fix GitHub workflow when on a tagged revision Johannes Schindelin via GitGitGadget
2020-04-24 20:50 ` Junio C Hamano
2020-04-24 21:12 ` Johannes Schindelin
2020-04-24 21:24 ` Junio C Hamano
2020-10-08 15:29 ` Johannes Schindelin via GitGitGadget [this message]
2020-10-08 15:29 ` [PATCH v2 1/2] ci: skip GitHub workflow runs for already-tested commits/trees Johannes Schindelin via GitGitGadget
2020-10-09 7:29 ` SZEDER Gábor
2020-10-09 11:13 ` Johannes Schindelin
2020-10-10 7:25 ` SZEDER Gábor
2020-10-11 10:28 ` Johannes Schindelin
2020-10-12 16:12 ` Junio C Hamano
2020-10-12 18:57 ` Johannes Schindelin
2020-10-15 17:17 ` Junio C Hamano
2020-10-15 19:39 ` Johannes Schindelin
2020-10-08 15:29 ` [PATCH v2 2/2] ci: do not skip tagged revisions in GitHub workflows Johannes Schindelin via GitGitGadget
2020-10-08 21:11 ` [PATCH v2 0/2] Do not skip tagged revisions in the GitHub workflow runs Junio C Hamano
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=pull.619.v2.git.1602170976.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=johannes.schindelin@gmx.de \
/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).