[Updated] [+- ] D9451: heptapod-ci: automatically refresh existing phabricator Diff on push

baymax (Baymax, Your Personal Patch-care Companion) phabricator at mercurial-scm.org
Sun Nov 29 14:10:03 UTC 2020


baymax updated this revision to Diff 23832.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D9451?vs=23827&id=23832

BRANCH
  default

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D9451/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D9451

AFFECTED FILES
  contrib/heptapod-ci.yml
  contrib/phab-refresh-stack.sh

CHANGE DETAILS

diff --git a/contrib/phab-refresh-stack.sh b/contrib/phab-refresh-stack.sh
--- a/contrib/phab-refresh-stack.sh
+++ b/contrib/phab-refresh-stack.sh
@@ -1,32 +1,34 @@
 #!/bin/bash
-revision_in_stack=`hg log --rev '.#stack' -T '\nONE-REV\n' | grep 'ONE-REV' | wc -l`
-revision_on_phab=`hg log --rev '.#stack and desc("re:\nDifferential Revision: [^\n]+D\d+$")' -T '\nONE-REV\n' | grep 'ONE-REV' | wc -l`
+set -eu
+
+revision_in_stack=`hg log --rev '.#stack and ::.' -T '\nONE-REV\n' | grep 'ONE-REV' | wc -l`
+revision_on_phab=`hg log --rev '.#stack and ::. and desc("re:\nDifferential Revision: [^\n]+D\d+$")' -T '\nONE-REV\n' | grep 'ONE-REV' | wc -l`
 
 if [[ $revision_in_stack -eq 0 ]]; then
     echo "stack is empty" >&2
     exit 1
 fi
 
-if [[ $revision_in_phab -eq 0 ]]; then
+if [[ $revision_on_phab -eq 0 ]]; then
     echo "no tracked diff in this stack" >&2
     exit 0
 fi
 
-if [[ $revision_in_phab -lt $revision_in_stack ]]; then
-    echo "not all stack changesets (${revision_in_stack}) have matching Phabricator Diff (${revision_in_phab})" >&2
+if [[ $revision_on_phab -lt $revision_in_stack ]]; then
+    echo "not all stack changesets (${revision_in_stack}) have matching Phabricator Diff (${revision_on_phab})" >&2
     exit 2
 fi
 
 if [[ "$PHABRICATOR_TOKEN" == "" ]]; then
-    echo 'missing $PHABRICATOR_TOKEN  variable' >&2
+    echo 'missing $PHABRICATOR_TOKEN variable' >&2
     exit 2
 fi
 
 hg \
 --config extensions.phabricator= \
-phabricator.url=https://phab.mercurial-scm.org/ \
-phabricator.callsign=HG \
-auth.phabricator.schemes=https \
-auth.phabricator.prefix=phab.mercurial-scm.org \
-auth.hg.phabtoken=$PHABRICATOR_TOKEN \
-phabsend --rev '.#stack'
+--config phabricator.url=https://phab.mercurial-scm.org/ \
+--config phabricator.callsign=HG \
+--config auth.phabricator.schemes=https \
+--config auth.phabricator.prefix=phab.mercurial-scm.org \
+--config auth.phabricator.phabtoken=$PHABRICATOR_TOKEN \
+phabsend --rev '.#stack and ::.'
diff --git a/contrib/heptapod-ci.yml b/contrib/heptapod-ci.yml
--- a/contrib/heptapod-ci.yml
+++ b/contrib/heptapod-ci.yml
@@ -1,12 +1,13 @@
 stages:
   - tests
+  - phabricator
 
 image: registry.heptapod.net/mercurial/ci-images/mercurial-core
 
 # The runner made a clone as root.
 # We make a new clone owned by user used to run the step.
 before_script:
-    - hg clone . /tmp/mercurial-ci/ --noupdate
+    - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
     - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
     - cd /tmp/mercurial-ci/
     - ls -1 tests/test-check-*.* > /tmp/check-tests.txt
@@ -22,12 +23,6 @@
         - echo "$RUNTEST_ARGS"
         - HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" tests/run-tests.py --color=always $RUNTEST_ARGS
 
-checks-py3:
-    <<: *runtests
-    variables:
-        RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
-        PYTHON: python3
-
 rust-cargo-test-py3:
     stage: tests
     script:
@@ -35,3 +30,15 @@
         - make rust-tests
     variables:
         PYTHON: python3
+
+phabricator-refresh:
+    stage: phabricator
+    script:
+      - hg version -v
+      - hg log -r .
+      - hg phase -r .
+      - hg log --rev '.#stack and ::.' -T '\nONE-REV\n' | grep 'ONE-REV' | wc -l
+      - hg log --rev '.#stack and ::. and desc("re:\nDifferential Revision\x3A [^\n]+D\d+$")' -T '\nONE-REV\n' | grep 'ONE-REV' | wc -l
+      - hg log --rev '.#stack and ::.' -T '\nONE-REV\n'
+      - hg log --rev '.#stack and ::. and desc("re:\nDifferential Revision\x3A [^\n]+D\d+$")' -T '\nONE-REV\n'
+      - ./contrib/phab-refresh-stack.sh



To: marmoute, #hg-reviewers
Cc: mharbison72, mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20201129/d6c76d2f/attachment-0002.html>


More information about the Mercurial-patches mailing list