Skip to content
Snippets Groups Projects
  1. Oct 04, 2022
  2. Oct 03, 2022
  3. Sep 28, 2022
    • Matt Harbison's avatar
      tests: migrate the pytype test to a shell script for easier CI processing · 08c3ecd8
      Matt Harbison authored
      There have been recent hangs and timeout, but it's hard to debug because the *.t
      test redirects output to a file and only prints it if `pytype` actually exits.
      This shell script can be run directly by CI, and will allow more flexibility to
      try to cache and restore type stubs for further speed increases.
      08c3ecd8
  4. Sep 22, 2022
    • Arseniy Alekseyev's avatar
      rhg: fix bugs around [use-dirstate-tracked-hint] and repo auto-upgrade · 3a538710
      Arseniy Alekseyev authored
      This makes two changes:
      - make rhg support the [dirstate-tracked-key-v1] requirement.
      I believe rhg never changes the tracked file set, so it's OK that it
      doesn't have any logic for writing this file.
      
      - fix the name of [format.use-dirstate-v2.automatic-upgrade-of-mismatching-repositories]
      config option in rhg, which makes rhg actually honor the auto-upgrade.
      
      These two issues cancelled each other out in tests (auto-upgrade was happening
      because [dirstate-tracked-key-v1] forced the fallback, not because of the config),
      which is I think why they went unnoticed earlier.
      3a538710
  5. Sep 20, 2022
    • Arseniy Alekseyev's avatar
      tests: fix the flaky test test-logtoprocess.t · b3e77d53
      Arseniy Alekseyev authored
      The main change is that we're waiting for the [touched] file to appear for 5 seconds instead of 0.1 seconds. Also, instead of implementing wait-on-file from scratch, we use the existing one from testlib/ that works well.
      b3e77d53
  6. Sep 06, 2022
    • Matt Harbison's avatar
      packaging: update dulwich to drop the certifi dependency on Windows · 37debd85
      Matt Harbison authored
      The presence of `certifi` causes the system certificate store to be ignored,
      which was reported as a bug against TortoiseHg[1].  It was only pulled in on
      Windows because of `dulwich`, which was copied from the old TortoiseHg install
      scripts, in order to support `hg-git`.
      
      This version of `dulwich` raises the minimum `urllib3` to a version (1.25) that
      does certificate verification by default, without the help of `certifi`[2].  We
      already bundle a newer version of `urllib3`.  Note that `certifi` can still be
      imported from the user site directory, if installed there.  But the installer no
      longer disables the system certificates by default.
      
      [1] mercurial/tortoisehg/thg#5825
      [2] https://github.com/jelmer/dulwich/issues/1025
      37debd85
  7. Sep 19, 2022
  8. Sep 01, 2022
  9. Aug 30, 2022
  10. Aug 31, 2022
  11. Aug 29, 2022
  12. Aug 30, 2022
  13. Aug 25, 2022
  14. Aug 26, 2022
    • Arseniy Alekseyev's avatar
      tests: remove flakiness in test-nointerrupt.t · 8c75ae3f
      Arseniy Alekseyev authored
      The problem was that the reaction to the signal was racing against
      the completion of the command.
      Since reaction to the signal is to print a line of warning,
      we can fix this by waiting for that warning to appear before
      allowing the command to complete.
      8c75ae3f
  15. Jul 20, 2022
    • Gregory Szorc's avatar
      automation: set PATH when building on Windows · e4e33b77
      Gregory Szorc authored
      Sometime in the 6.2 release cycle the Windows building automation
      broke. Building the wheel and even PyOxidizer based installers now fails
      with:
      
      ```
      Exception: PowerShell execution failed:   error: subprocess-exited-with-error
      Getting requirements to build wheel did not run successfully.
      exit code: 1
      [1 lines of output]
      Unable to find a working hg binary to extract the version from the repository tags
      [end of output]
      note: This error originates from a subprocess, and is likely not a problem with pip.
      ```
      
      I have a hunch this is a regression from upgrading pip in 1c00777702da,
      but I haven't verified this. It may not be, as PyOxidizer has its own
      bundled Python/pip. So maybe it is something in `setup.py`.
      e4e33b77
  16. Jul 17, 2022
  17. Jun 04, 2022
    • Gregory Szorc's avatar
      automation: transition to Windows Server 2022 · f1dcddb7
      Gregory Szorc authored
      Let's keep our Windows build environment modern by upgrading to the
      latest OS.
      
      As part of the upgrade, we pick up a migration to EC2Launch Version 2.
      This has a different config mechanism. So we need to port how we manage
      the administrator password.
      
      As part of migrating to the new YAML/JSON config file mechanism, we move
      the code to the powershell script that is run when the instance first
      launches. This ensures that the config is retained during the reboot we
      perform as part of building the Windows AMI.
      
      The motivation for this is I'm currently unable to build the Windows
      2019 AMI due to an issue installing OpenSSH. This _just works_ on
      Windows Server 2022. I have no clue what the root cause is. I think
      it might have something to do with Microsoft not publishing the files
      in the right location.
      
      Differential Revision: https://phab.mercurial-scm.org/D12630
      f1dcddb7
    • Gregory Szorc's avatar
      automation: refresh requirements · ef40864b
      Gregory Szorc authored
      I'm hitting errors installing the old version of cffi due to an
      apparent issue where older versions of cffi aren't compatible with
      the modern Clang I'm using. So let's upgrade packages to unbreak
      things and to keep things modern.
      
      Differential Revision: https://phab.mercurial-scm.org/D12629
      ef40864b
  18. Aug 17, 2022
  19. Aug 05, 2022
  20. Jul 11, 2022
    • kiilerix's avatar
      rust: bump to memmap2 0.5.3, micro-timer 0.4.0, and crossbeam-channel 0.5.0 · 1bad05cf
      kiilerix authored
      The merge in 12adf8c695ed had conflicts in rust/Cargo.lock and
      rust/hg-core/Cargo.toml . Let's ignore rust/Cargo.lock - it is regenerated.
      
      For rust/hg-core/Cargo.toml, stable had dd6b67d5c256 "rust: fix unsound
      `OwningDirstateMap`" which introduced ouroboros (and dropped
      stable_deref_trait).
      
      Default had ec8d9b5a5e7c "rust-hg-core: upgrade dependencies" which had a lot
      of churn bumping minimum versions - also patch versions. It is indeed a good
      idea to bump to *allow* use of latest package. That means that major versions
      should be bumped for packages after 1.0, and for packages below 1.0 minor
      versions should be bumped too. But it doesn't work to try enforce a policy of
      using latest patch by bumping versions at arbitrary times.
      
      For good or bad, the merge doesn't seem to have resolved the conflicts
      correctly, and many of the minor "upgrade dependencies" were lost again.
      
      Unfortunately, it also lost the bump of memmap2 to 0.5.3, which is needed for
      Fedora packaging where 0.4 isn't available. Same with micro-timer bump to 0.4
      (which already is used in rhg). crossbeam-channel bump was also lost.
      
      This change fixes that regression by redoing these "important" lines of the
      merge "correctly".
      
      I propose this for stable, even though dependency changes on stable branches
      are annoying.
      1bad05cf
  21. Jul 28, 2022
  22. Jul 27, 2022
  23. Jul 26, 2022
  24. Jul 19, 2022
    • Matt Harbison's avatar
      packaging: bump dulwich to 0.20.45 · 98645c1b
      Matt Harbison authored
      I'm told the new dulwich avoids hg-git test failures.
      98645c1b
    • Matt Harbison's avatar
      packaging: update keyring on Windows to avoid spurious stacktraces · 9d427cc2
      Matt Harbison authored
      When challenged for a network password, this would spew on Windows before it
      actually used the stored password:
      
      ```
      Error initializing plugin EntryPoint(name='libsecret', value='keyring.backends.libsecret', group='keyring.backends').
      Traceback (most recent call last):
        File "keyring.backend", line 198, in _load_plugins
          init_func = ep.load()
        File "importlib.metadata", line 77, in load
          module = import_module(match.group('module'))
        File "importlib", line 127, in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
        File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
        File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
        File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
      ModuleNotFoundError: No module named 'keyring.backends.libsecret'
      Error initializing plugin EntryPoint(name='macOS', value='keyring.backends.macOS', group='keyring.backends').
      Traceback (most recent call last):
        File "keyring.backend", line 198, in _load_plugins
          init_func = ep.load()
        File "importlib.metadata", line 77, in load
          module = import_module(match.group('module'))
        File "importlib", line 127, in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
        File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
        File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
        File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
      ModuleNotFoundError: No module named 'keyring.backends.macOS'
      ```
      
      We're kinda threading a needle here because the next version of `keyring`
      (currently at 23.7.0) requires `importlib-metadata` 3.6+, which PyOxidizer 0.22
      doesn't support[1].
      
      [1] https://github.com/indygreg/PyOxidizer/issues/609
      9d427cc2
Loading