Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sapling getdeps cli build and test support for python 3.12 #964

Closed
wants to merge 3 commits into from

Conversation

ahornby
Copy link
Contributor

@ahornby ahornby commented Oct 6, 2024

Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based. Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

  • distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so updated to use setuptools's version and removed deprecated usage like find_executable in favor of shutil.which().
  • added a manifest so we get python3-setuptools installed.
  • found some tests needed bunzip2, so update manifest for sapling and bz2 to install it
  • util.py makedate(): datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods..
    Tested with test-command-template.t which shows tz offset.
  • Makefile: disabled a few tests on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky
  • tests modified to run on 3.12 and 3.10:
  • test-import-eol.t: updated for invalid escape sequence warnings
  • test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  • test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have

Test Plan:

enter ubuntu 24.04 toolbox:
toolbox enter ubuntu-toolbox-24.04

make sure system packages are installed
./build/fbcode_builder/getdeps.py install-system-deps --recursive sapling

check oss non-thrift build:

make oss
$ ./sl --version
Fri Oct  4 17:14:19 BST 2024
Sapling 4.4.2_20241004_170203_06bd09bd1dd2
(see https://sapling-scm.com/ for more information)

build sapling getdepts
./build/fbcode_builder/getdeps.py build --allow-system-packages --no-facebook-internal --src-dir=. sapling --project-install-prefix sapling:/

run the tests locally to validate python 3.12 operation:

./build/fbcode_builder/getdeps.py --allow-system-packages test --src-dir=. sapling --num-jobs=64 --project-install-prefix sapling:/'

generate github actions CI to pick up python3-setuptools

./build/fbcode_builder/getdeps.py --allow-system-packages generate-github-actions --free-up-disk --os-type=linux --src-dir=. --output-dir=.github/workflows --job-name "Sapling CLI Getdeps " --job-file-prefix=sapling-cli-getdeps_ sapling --num-jobs=16  --project-install-prefix sapling:/

github CI

Stack created with Sapling. Best reviewed with ReviewStack.

@facebook-github-bot
Copy link
Contributor

@facebook-github-bot has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

ahornby and others added 3 commits October 7, 2024 10:23
Summary:
sapling github CI  had a failure on fb303 and I wasn't sure if fb303 was itself building ok on github,  so lets give fb303 a CI.

* add a github action to build fb303
* delete fb303 github side packit config [as it is broken](https:/facebook/fb303/pull/58/checks?check_run_id=31169950255). For folly packit was moved to copr side in D54958528 so I think this is fine.

 (the underlying problem causing a transient [fb303 break in sapling CI](https:/facebook/sapling/actions/runs/11213566522/job/31166881318?pr=963) was that build/deps/github_hashes/facebook/fbthrift-rev.txt was lagging the code using fbthrift, and thus python libs where not installed)

X-link: facebook/fb303#58
X-link: facebookincubator/zstrong#1006

Reviewed By: singhsrb

Differential Revision: D63976936
Summary:
Connect up the sapling *.t tests so that github CI has visible cli test status.

To get them to run:
 * some needed fbpython on path. I included a shim for that in the test makefile target.
 * test-rust-hooks: Command not found message,  added a glob
 * test-identity.t: add a glob for the sapling version
 * test-eolfilename.t: output order was unstable, added sorts to make stable
 * helpers-testrepo.sh: fix assumption that system hg would be able to read test repo, check if its Sapling first.
 * added a manifest for the hexdump utility some of the tests required
 * excluded a few remaining tests (see comments in Makefile for reason)
 * fixed getdeps support for generating actions steps for test only dependencies

NB  the tests run as "hg".  The expectations would need to be updated if we were to run as "sl"

X-link: facebookincubator/zstrong#1004

Test Plan:
enter ubuntu 22.04 toolbox:
`toolbox enter ubuntu-toolbox-22.04 `

make sure system packages are installed
`./build/fbcode_builder/getdeps.py install-system-deps --recursive  sapling`

build sapling (and any depedencieds it requires)
`./build/fbcode_builder/getdeps.py build --allow-system-packages --src-dir=. sapling`

run the tests.  64 concurrent jobs worked well on my 64GB machine and took 2m10s.
```
./build/fbcode_builder/getdeps.py test --allow-system-packages --src-dir=. sapling --num-jobs=64
----------------------------------------------------------------------
Skipped 2 tests (missing feature: Mononoke server available):
  test-fb-ext-remotefilelog-log.t
  test-fb-ext-remotefilelog-worker.t

Skipped 3 tests (missing feature: running tests with fsmonitor):
  test-fsmonitor-filemerge.t
  test-fsmonitor-nonutf8-path.t
  test-rust-hgevents.t

Skipped 46 tests (skipped):
  test-atexit-epipe.t
  test-casefolding.t
  test-check-clang-format.t
  test-check-code.t
  test-check-fix-code.t
  test-check-help.t
  test-checkserverbookmark.t
  test-chg.t
  test-debugbacktrace.t
  test-debugshell-namespace.t
  test-eden-clone.t
  test-eden-commands.t
  test-eden-du.t
  test-eden-glob.t
  test-eden-sparse.t
  test-eden-watchman-edenapi-glob.t
  test-eden-watchman-noedenapi-glob.t
  test-fb-ext-fbconduit.t
  test-fb-ext-scm-prompt-compat.t
  test-fb-ext-scm-prompt-git.t
  test-fb-ext-tweakdefaults-grep.t
  test-fsmonitor-casefolding.t
  test-fsmonitor-fallback.t
  test-fsmonitor-metadata.t
  test-fsmonitor-refreshclock.t
  test-fsmonitor-status.t
  test-fsmonitor-warn-fresh.t
  test-histedit-reorder.t
  test-matcher-expand-globs.t
  test-mutation-infinitepush.t
  test-non-working-symlink.t
  test-progress-rust-renderer.t
  test-progressfile.t
  test-purge-fsmonitor.t
  test-remotenames-journal.t
  test-runlog.t
  test-rust-status-in-transaction.t
  test-sparse-track-ignored.t
  test-status-case-insensitive.t
  test-status-fresh-instance.t
  test-status-root-ignored-py.t
  test-status-watchman.t
  test-symlink-migration.t
  test-tracing-under-chg.t
  test-treestate-fresh-instance.t
  test-treestate-trackignore.t

# Ran 729 tests, 51 skipped, 0 failed.
passed on try 0
```

generate github actions CI (using 16 concurrent jobs to speed them up a little)
```
./build/fbcode_builder/getdeps.py --allow-system-packages generate-github-actions --free-up-disk --os-type=linux --src-dir=. --output-dir=.github/workflows --job-name "Sapling CLI Getdeps " --job-file-prefix=sapling-cli-getdeps_ sapling --project-install-prefix sapling:/ --num-jobs=16
```

debugged actions locally with:
```
act -r -j build -W .github/workflows/sapling-cli-getdeps_linux.yml
```

Differential Revision: D63958737

Pulled By: ahornby
)

Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so updated to use setuptools's version and removed deprecated usage like `find_executable` in favor of `shutil.which()`.
* added a manifest so we get python3-setuptools installed.
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled a few tests on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have

X-link: facebookincubator/zstrong#1005

Test Plan:
enter ubuntu 24.04 toolbox:
`toolbox enter ubuntu-toolbox-24.04 `

make sure system packages are installed
`./build/fbcode_builder/getdeps.py install-system-deps --recursive  sapling`

check oss non-thrift build:
```
make oss
$ ./sl --version
Fri Oct  4 17:14:19 BST 2024
Sapling 4.4.2_20241004_170203_06bd09bd1dd2
(see https://sapling-scm.com/ for more information)
```

build sapling getdepts
`./build/fbcode_builder/getdeps.py build --allow-system-packages --no-facebook-internal --src-dir=. sapling  --project-install-prefix sapling:/`

run the tests locally to validate python 3.12 operation:
```
./build/fbcode_builder/getdeps.py --allow-system-packages test --src-dir=. sapling --num-jobs=64 --project-install-prefix sapling:/'
```

generate github actions CI to pick up python3-setuptools
```
./build/fbcode_builder/getdeps.py --allow-system-packages generate-github-actions --free-up-disk --os-type=linux --src-dir=. --output-dir=.github/workflows --job-name "Sapling CLI Getdeps " --job-file-prefix=sapling-cli-getdeps_ sapling --num-jobs=16  --project-install-prefix sapling:/
```

github CI

Differential Revision: D63958742

Pulled By: ahornby
@facebook-github-bot
Copy link
Contributor

@ahornby has updated the pull request. You must reimport the pull request before landing.

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D63958742

facebook-github-bot pushed a commit to facebook/fb303 that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
facebook-github-bot pushed a commit to facebook/openr that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
facebook-github-bot pushed a commit to facebook/proxygen that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
facebook-github-bot pushed a commit to facebookexperimental/edencommon that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
facebook-github-bot pushed a commit to facebookexperimental/rust-shed that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
facebook-github-bot pushed a commit to facebookincubator/katran that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
facebook-github-bot pushed a commit to facebook/wangle that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
facebook-github-bot pushed a commit to facebookincubator/fizz that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
facebook-github-bot pushed a commit to facebook/fboss that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
facebook-github-bot pushed a commit to facebook/mvfst that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
facebook-github-bot pushed a commit to facebook/watchman that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
facebook-github-bot pushed a commit to facebook/fbthrift that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
facebook-github-bot pushed a commit to facebookexperimental/moxygen that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
facebook-github-bot pushed a commit to facebook/folly that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
facebook-github-bot pushed a commit to facebookincubator/hsthrift that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
@facebook-github-bot
Copy link
Contributor

@ahornby merged this pull request in cc6f1f8.

facebook-github-bot pushed a commit to facebook/hhvm that referenced this pull request Oct 11, 2024
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants