Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
81b42f2
Refresh HACL*; update modules accordingly; fix namespacing
msprotz Mar 25, 2024
9514fb4
make regen-sbom
msprotz Mar 25, 2024
b6b8ea9
wip
msprotz Apr 19, 2024
94bb7aa
Initial prototype of hashlib running atop HACL*'s blake2
msprotz Apr 19, 2024
e8a3060
All hashlib tests pass
msprotz Apr 19, 2024
3896560
Merge remote-tracking branch 'upstream/main' into hacl_blake2
msprotz Jun 24, 2024
d9e5568
Import more files, now to figure out the build system...
msprotz Jun 25, 2024
0d7a2ce
No need to repeat those flags in configure -- they are set in Setup.s…
msprotz Jul 18, 2024
b00af13
Try some AC stuff
msprotz Jul 18, 2024
cd3782a
Merge remote-tracking branch 'upstream/main' into hacl_blake2
msprotz Jul 18, 2024
36f7193
Every single AX_CHECK_COMPILE_FLAG returns false because PY_BUILTIN_H…
msprotz Jul 18, 2024
102dbbf
And another pyconfig.h flag for the second variant -- doing this prop…
msprotz Jul 18, 2024
a61aa04
Getting there with the build
msprotz Jul 18, 2024
11d7c76
Multiplex everything
msprotz Jul 18, 2024
9e0df3c
Defeat unused variable warning
msprotz Jul 18, 2024
d959d6d
We seem to be down to a linking problem
msprotz Jul 18, 2024
8958943
Making progress on autoconf / make
msprotz Jul 19, 2024
538401e
Refresh HACL*
msprotz Jul 19, 2024
cfc7053
Fix a few more typos, build now seems ok
msprotz Jul 19, 2024
d564d3a
Eliminate trailing whitespace when importing HACL*
msprotz Jul 19, 2024
505e8c1
No GNU-isms (hopefully)
msprotz Jul 19, 2024
cc70e6a
Fix some typos
msprotz Jul 19, 2024
4b9e84e
Update the namespacing mechanism, and write down in a comment how to …
msprotz Jul 19, 2024
314f962
NEWS
msprotz Jul 19, 2024
def45e4
Update SBOM
msprotz Jul 19, 2024
97ddafd
Remove GNU-isms
msprotz Jul 22, 2024
2abfcc1
Remove libb2 from SBOM (thanks @sethmlarson)
msprotz Jul 22, 2024
a49343b
Merge branch 'hacl_blake2' of pro.github.com:msprotz/cpython into hac…
msprotz Jul 22, 2024
49cdab5
Regenerate SBOM
msprotz Jul 22, 2024
eb4c3bd
Merge branch 'main' into hacl_blake2
msprotz Jul 22, 2024
cc91e72
Refresh HACL* again, for whitespace
msprotz Jul 22, 2024
873c446
Fix Windows build
msprotz Jul 23, 2024
e3112cc
Merge branch 'hacl_blake2' of pro.github.com:msprotz/cpython into hac…
msprotz Jul 23, 2024
cf70288
Update SBOM
msprotz Jul 23, 2024
50325c2
Deal with ARM64
msprotz Jul 23, 2024
48c4bd0
Match statements in opcode need more recent Python
msprotz Jul 23, 2024
59bcdb9
Fix Windows build
msprotz Jul 23, 2024
22ee262
make regen-sbom
msprotz Jul 23, 2024
550ca99
Try to fix C analysis
msprotz Jul 23, 2024
278bc6c
Tweak Windows build
msprotz Jul 23, 2024
578494a
Build tweaks
msprotz Jul 23, 2024
24ed962
Bring blake2 in line with other hash modules for Py_MOD_GIL_NOT_USED
msprotz Jul 23, 2024
e54bc8e
Move CPU flags detection to per-module state
msprotz Jul 24, 2024
abaf42b
Update Modules/blake2module.c
msprotz Jul 24, 2024
7495a88
Update Modules/blake2module.c
msprotz Jul 24, 2024
fce0cc2
Update Modules/blake2module.c
msprotz Jul 24, 2024
5610b25
Update Modules/blake2module.c
msprotz Jul 24, 2024
38233db
Address various review comments
msprotz Jul 24, 2024
e0e8636
Merge branch 'main' into hacl_blake2
msprotz Jul 24, 2024
b8b943c
Add test_blake2_update_over_4gb.
gpshead Aug 1, 2024
503fb34
Update Modules/blake2module.c
msprotz Aug 1, 2024
0b6dba1
Update Modules/blake2module.c
msprotz Aug 1, 2024
2eccf53
Update Modules/blake2module.c
msprotz Aug 1, 2024
04e9b45
Update Modules/blake2module.c
msprotz Aug 1, 2024
a616575
Add missing includes
msprotz Aug 1, 2024
af0d73b
Every single AX_CHECK_COMPILE_FLAG returns false because PY_BUILTIN_H…
msprotz Jul 18, 2024
f3f95a2
Merge branch 'main' into hacl_blake2
gpshead Aug 5, 2024
f9089fd
Fix configure.ac
msprotz Aug 5, 2024
15db7c1
Merge remote-tracking branch 'origin/double_define' into hacl_blake2
msprotz Aug 5, 2024
bb1cf00
Merge branch 'main' into hacl_blake2
msprotz Aug 6, 2024
07853a5
Merge branch 'main' into hacl_blake2
msprotz Aug 7, 2024
b09d92f
Keep the runtime CPU flags and static compilation flags in check
msprotz Aug 10, 2024
53dfa81
Merge branch 'main' into hacl_blake2
gpshead Aug 13, 2024
40374ac
Merge branch 'main' into hacl_blake2
gpshead Aug 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Prev Previous commit
Next Next commit
Merge remote-tracking branch 'upstream/main' into hacl_blake2
  • Loading branch information
msprotz committed Jun 24, 2024
commit 3896560930919ae3d8c00d01d6cb548b3ea7afd7
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM docker.io/library/fedora:37
FROM docker.io/library/fedora:40

ENV CC=clang

Expand Down
49 changes: 34 additions & 15 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@

# Build system
configure* @erlend-aasland @corona10
Makefile.pre.in @erlend-aasland
Modules/Setup* @erlend-aasland

# asyncio
**/*asyncio* @1st1 @asvetlov @gvanrossum @kumaraditya303 @willingc
Expand All @@ -29,19 +31,23 @@ Objects/type* @markshannon
Objects/codeobject.c @markshannon
Objects/frameobject.c @markshannon
Objects/call.c @markshannon
Python/ceval*.c @markshannon @gvanrossum
Python/ceval*.h @markshannon @gvanrossum
Python/ceval*.c @markshannon
Python/ceval*.h @markshannon
Python/compile.c @markshannon @iritkatriel
Python/assemble.c @markshannon @iritkatriel
Python/flowgraph.c @markshannon @iritkatriel
Python/instruction_sequence.c @iritkatriel
Python/ast_opt.c @isidentical
Python/bytecodes.c @markshannon @gvanrossum
Python/optimizer*.c @markshannon @gvanrossum
Python/bytecodes.c @markshannon
Python/optimizer*.c @markshannon
Python/optimizer_analysis.c @Fidget-Spinner
Python/optimizer_bytecodes.c @Fidget-Spinner
Python/symtable.c @JelleZijlstra @carljm
Lib/_pyrepl/* @pablogsal @lysnikolaou @ambv
Lib/test/test_patma.py @brandtbucher
Lib/test/test_type_*.py @JelleZijlstra
Lib/test/test_capi/test_misc.py @markshannon @gvanrossum
Lib/test/test_capi/test_misc.py @markshannon
Lib/test/test_pyrepl/* @pablogsal @lysnikolaou @ambv
Tools/c-analyzer/ @ericsnowcurrently

# dbm
Expand Down Expand Up @@ -72,11 +78,8 @@ Programs/python.c @ericsnowcurrently
Tools/build/generate_global_objects.py @ericsnowcurrently

# Exceptions
Lib/traceback.py @iritkatriel
Lib/test/test_except*.py @iritkatriel
Lib/test/test_traceback.py @iritkatriel
Objects/exceptions.c @iritkatriel
Python/traceback.c @iritkatriel

# Hashing
**/*hashlib* @gpshead @tiran
Expand Down Expand Up @@ -150,13 +153,13 @@ Include/internal/pycore_time.h @pganssle @abalkin
/Lib/test/test_tokenize.py @pablogsal @lysnikolaou

# Code generator
/Tools/cases_generator/ @gvanrossum
/Tools/cases_generator/ @markshannon

# AST
Python/ast.c @isidentical
Parser/asdl.py @isidentical
Parser/asdl_c.py @isidentical
Lib/ast.py @isidentical
Python/ast.c @isidentical @JelleZijlstra
Parser/asdl.py @isidentical @JelleZijlstra
Parser/asdl_c.py @isidentical @JelleZijlstra
Lib/ast.py @isidentical @JelleZijlstra

# Mock
/Lib/unittest/mock.py @cjw296
Expand All @@ -173,6 +176,10 @@ Lib/ast.py @isidentical
/Lib/test/test_subprocess.py @gpshead
/Modules/*subprocess* @gpshead

# debugger
**/*pdb* @gaogaotiantian
**/*bdb* @gaogaotiantian

# Limited C API & stable ABI
Tools/build/stable_abi.py @encukou
Misc/stable_abi.toml @encukou
Expand All @@ -194,7 +201,6 @@ Doc/c-api/stable.rst @encukou
**/*itertools* @rhettinger
**/*collections* @rhettinger
**/*random* @rhettinger
**/*queue* @rhettinger
**/*bisect* @rhettinger
**/*heapq* @rhettinger
**/*functools* @rhettinger
Expand All @@ -205,6 +211,7 @@ Doc/c-api/stable.rst @encukou
**/*ensurepip* @pfmoore @pradyunsg

**/*idlelib* @terryjreedy
/Doc/library/idle.rst @terryjreedy

**/*typing* @JelleZijlstra @AlexWaygood

Expand Down Expand Up @@ -240,9 +247,21 @@ Doc/howto/clinic.rst @erlend-aasland
**/*interpreteridobject.* @ericsnowcurrently
**/*crossinterp* @ericsnowcurrently
Lib/test/support/interpreters/ @ericsnowcurrently
Modules/_xx*interp*module.c @ericsnowcurrently
Modules/_interp*module.c @ericsnowcurrently
Lib/test/test_interpreters/ @ericsnowcurrently

# Android
**/*Android* @mhsmith
**/*android* @mhsmith

# iOS (but not termios)
**/iOS* @freakboy3742
**/ios* @freakboy3742
**/*_iOS* @freakboy3742
**/*_ios* @freakboy3742
**/*-iOS* @freakboy3742
**/*-ios* @freakboy3742

# WebAssembly
/Tools/wasm/ @brettcannon

Expand Down
42 changes: 20 additions & 22 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,11 @@ on:
push:
branches:
- 'main'
- '3.12'
- '3.11'
- '3.10'
- '3.9'
- '3.8'
- '3.*'
pull_request:
branches:
- 'main'
- '3.12'
- '3.11'
- '3.10'
- '3.9'
- '3.8'
- '3.*'

permissions:
contents: read
Expand Down Expand Up @@ -62,7 +54,7 @@ jobs:
# into the PR branch anyway.
#
# https://github.com/python/core-workflow/issues/373
git diff --name-only origin/$GITHUB_BASE_REF.. | grep -qvE '(\.rst$|^Doc|^Misc|^\.pre-commit-config\.yaml$|\.ruff\.toml$)' && echo "run_tests=true" >> $GITHUB_OUTPUT || true
git diff --name-only origin/$GITHUB_BASE_REF.. | grep -qvE '(\.rst$|^Doc|^Misc|^\.pre-commit-config\.yaml$|\.ruff\.toml$|\.md$|mypy\.ini$)' && echo "run_tests=true" >> $GITHUB_OUTPUT || true
fi

# Check if we should run hypothesis tests
Expand Down Expand Up @@ -137,6 +129,7 @@ jobs:
uses: actions/cache@v4
with:
path: config.cache
# Include env.pythonLocation in key to avoid changes in environment when setup-python updates Python
key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.check_source.outputs.config_hash }}-${{ env.pythonLocation }}
- name: Install Dependencies
run: sudo ./.github/workflows/posix-deps-apt.sh
Expand Down Expand Up @@ -206,8 +199,9 @@ jobs:
uses: ./.github/workflows/reusable-macos.yml
with:
config_hash: ${{ needs.check_source.outputs.config_hash }}
# macos-14 is M1, macos-13 is Intel
os-matrix: '["macos-14", "macos-13"]'
# Cirrus and macos-14 are M1, macos-13 is default GHA Intel.
# Cirrus used for upstream, macos-14 for forks.
os-matrix: '["ghcr.io/cirruslabs/macos-runner:sonoma", "macos-14", "macos-13"]'

build_macos_free_threading:
name: 'macOS (free-threading)'
Expand All @@ -217,8 +211,9 @@ jobs:
with:
config_hash: ${{ needs.check_source.outputs.config_hash }}
free-threading: true
# macos-14 is M1
os-matrix: '["macos-14"]'
# Cirrus and macos-14 are M1.
# Cirrus used for upstream, macos-14 for forks.
os-matrix: '["ghcr.io/cirruslabs/macos-runner:sonoma", "macos-14"]'

build_ubuntu:
name: 'Ubuntu'
Expand Down Expand Up @@ -249,7 +244,7 @@ jobs:

build_ubuntu_ssltests:
name: 'Ubuntu SSL tests with OpenSSL'
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
Expand Down Expand Up @@ -315,7 +310,7 @@ jobs:

test_hypothesis:
name: "Hypothesis tests on Ubuntu"
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true' && needs.check_source.outputs.run_hypothesis == 'true'
Expand Down Expand Up @@ -395,7 +390,7 @@ jobs:
id: cache-hypothesis-database
uses: actions/cache@v4
with:
path: ./hypothesis
path: ${{ env.CPYTHON_BUILDDIR }}/.hypothesis/
key: hypothesis-database-${{ github.head_ref || github.run_id }}
restore-keys: |
- hypothesis-database-
Expand Down Expand Up @@ -423,12 +418,12 @@ jobs:
if: always()
with:
name: hypothesis-example-db
path: .hypothesis/examples/
path: ${{ env.CPYTHON_BUILDDIR }}/.hypothesis/examples/


build_asan:
name: 'Address sanitizer'
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
Expand Down Expand Up @@ -492,6 +487,8 @@ jobs:
with:
config_hash: ${{ needs.check_source.outputs.config_hash }}
options: ./configure --config-cache --with-thread-sanitizer --with-pydebug
suppressions_path: Tools/tsan/supressions.txt
tsan_logs_artifact_name: tsan-logs-default

build_tsan_free_threading:
name: 'Thread sanitizer (free-threading)'
Expand All @@ -501,6 +498,8 @@ jobs:
with:
config_hash: ${{ needs.check_source.outputs.config_hash }}
options: ./configure --config-cache --disable-gil --with-thread-sanitizer --with-pydebug
suppressions_path: Tools/tsan/suppressions_free_threading.txt
tsan_logs_artifact_name: tsan-logs-free-threading

# CIFuzz job based on https://google.github.io/oss-fuzz/getting-started/continuous-integration/
cifuzz:
Expand All @@ -514,8 +513,7 @@ jobs:
strategy:
fail-fast: false
matrix:
# sanitizer: [address, undefined, memory] -- memory skipped temporarily until GH-116886 is solved.
sanitizer: [address, undefined]
sanitizer: [address, undefined, memory]
steps:
- name: Build fuzzers (${{ matrix.sanitizer }})
id: build
Expand Down
Loading
You are viewing a condensed version of this merge commit. You can view the full changes here.