From 01de54243a122d6c450a9410135e8b2a2ec181b5 Mon Sep 17 00:00:00 2001 From: hugsy Date: Fri, 21 Jun 2024 12:01:47 -0700 Subject: [PATCH 01/18] added support for dump type 6 (live kernel mem) --- src/lib/kdmp-parser-structs.h | 9 +++++++-- src/lib/kdmp-parser.h | 1 + src/python/pyproject.toml | 6 +----- src/tests/tests_parser.cc | 28 +++++++++++++++++++++++++++- 4 files changed, 36 insertions(+), 8 deletions(-) diff --git a/src/lib/kdmp-parser-structs.h b/src/lib/kdmp-parser-structs.h index 455db31..13ef53a 100644 --- a/src/lib/kdmp-parser-structs.h +++ b/src/lib/kdmp-parser-structs.h @@ -31,8 +31,10 @@ enum class DumpType_t : uint32_t { BMPDump = 0x5, // New stuff - MiniDump = 0x4, // Produced by `.dump /m` - KernelMemoryDump = 0x8, // Produced by `.dump /k` + MiniDump = 0x4, // Produced by `.dump /m` + LiveKernelBitmapDump = 0x6, // (22h2+) Produced by TaskMgr > System > Create + // Live Kernel Memory Dump + KernelMemoryDump = 0x8, // Produced by `.dump /k` KernelAndUserMemoryDump = 0x9, // Produced by `.dump /ka` CompleteMemoryDump = 0xa, // Produced by `.dump /f` }; @@ -88,6 +90,8 @@ constexpr std::string_view DumpTypeToString(const DumpType_t Type) { // New stuff case DumpType_t::MiniDump: return "MiniDump"; + case DumpType_t::LiveKernelBitmapDump: + return "LiveKernelBitmapDump"; case DumpType_t::KernelMemoryDump: return "KernelMemoryDump"; case DumpType_t::KernelAndUserMemoryDump: @@ -750,6 +754,7 @@ struct HEADER64 { break; } + case DumpType_t::LiveKernelBitmapDump: case DumpType_t::BMPDump: { if (!u3.BmpHeader.LooksGood()) { printf("The BmpHeader looks wrong.\n"); diff --git a/src/lib/kdmp-parser.h b/src/lib/kdmp-parser.h index c9a2be1..8f3715f 100644 --- a/src/lib/kdmp-parser.h +++ b/src/lib/kdmp-parser.h @@ -96,6 +96,7 @@ class KernelDumpParser { } break; } + case DumpType_t::LiveKernelBitmapDump: case DumpType_t::BMPDump: { if (!BuildPhysmemBMPDump()) { printf("BuildPhysmemBMPDump failed.\n"); diff --git a/src/python/pyproject.toml b/src/python/pyproject.toml index b680b8f..31a9bdc 100644 --- a/src/python/pyproject.toml +++ b/src/python/pyproject.toml @@ -29,11 +29,7 @@ wheel.py-api = "cp312" minimum-version = "0.4" build-dir = "build/{wheel_tag}" cmake.minimum-version = "3.20" -cmake.args = [ - "-DBUILD_PARSER:BOOL=OFF", - "-DBUILD_TESTS:BOOL=OFF", - "-DBUILD_PYTHON_PACKAGE:BOOL=ON", -] +cmake.args = ["-DBUILD_PYTHON_PACKAGE:BOOL=ON"] [tool.cibuildwheel] build-verbosity = 1 diff --git a/src/tests/tests_parser.cc b/src/tests/tests_parser.cc index 36aa6c8..03480db 100644 --- a/src/tests/tests_parser.cc +++ b/src/tests/tests_parser.cc @@ -175,10 +175,36 @@ constexpr TestCaseValues TestCaseCompleteDump{ 0x00000000'0000001fULL, }; +constexpr TestCaseValues TestLiveKernelBitmapDump{ + "FullLiveKernelMemory.dmp", + kdmpparser::DumpType_t::LiveKernelBitmapDump, + 0x154f5, + 0x0000000d96a9000, // cr3 + {0x67, 0xd8, 0xb6, 0xdd, 0x00, 0x00, 0x00, 0x0a, 0x67, 0xa8, 0x1d, 0xd6, + 0x00, 0x00, 0x00, 0x0a}, + 0x4ULL, + 0xffffd20fd8553000ULL, + 0xffffa1000ed84a00ULL, + 0x0ULL, + 0xffffd20fd3beeae0ULL, + 0xfffff8074fb4b180ULL, + 0xfffff80750a98b6dULL, + 0xfffffd8d6bcaed10ULL, + 0x0ULL, + 0xb80ULL, + 0xffffd20fd8553348ULL, + 0x0ULL, + 0xffffd20fd8553000ULL, + 0x2ULL, + 0x0ULL, + 0xffffd20fd48d5080ULL, + 0x1ULL, +}; + constexpr std::array Testcases{ TestCaseBmp, TestCaseFull, TestCaseKernelDump, TestCaseKernelUserDump, - TestCaseCompleteDump, + TestCaseCompleteDump, TestLiveKernelBitmapDump, }; TEST_CASE("kdmp-parser", "parser") { From b097e69097e4c1137a467defbb2492db6450dd44 Mon Sep 17 00:00:00 2001 From: hugsy Date: Fri, 21 Jun 2024 12:04:25 -0700 Subject: [PATCH 02/18] added type 6 support to python api --- src/python/src/kdmp_parser.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/python/src/kdmp_parser.cc b/src/python/src/kdmp_parser.cc index b790067..0dd59b9 100644 --- a/src/python/src/kdmp_parser.cc +++ b/src/python/src/kdmp_parser.cc @@ -43,6 +43,8 @@ NB_MODULE(_kdmp_parser, m) { .value("KernelDump", kdmpparser::DumpType_t::KernelDump) .value("BMPDump", kdmpparser::DumpType_t::BMPDump) + .value("LiveKernelBitmapDump", + kdmpparser::DumpType_t::LiveKernelBitmapDump) .value("MiniDump", kdmpparser::DumpType_t::MiniDump) .value("KernelMemoryDump", kdmpparser::DumpType_t::KernelMemoryDump) .value("KernelAndUserMemoryDump", From 047263ded97cd403ab246be875f5c9c5f093ba44 Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Sat, 22 Jun 2024 09:01:25 -0700 Subject: [PATCH 03/18] macos-latest is now arm64 --- .github/workflows/kdmp-parser.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/kdmp-parser.yml b/.github/workflows/kdmp-parser.yml index 3c69b6b..44acf89 100644 --- a/.github/workflows/kdmp-parser.yml +++ b/.github/workflows/kdmp-parser.yml @@ -40,7 +40,7 @@ jobs: # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo} - {os: ubuntu-latest, generator: gcc, arch: x64, config: RelWithDebInfo} - {os: ubuntu-latest, generator: clang, arch: x64, config: RelWithDebInfo} - - {os: macos-latest, generator: clang, arch: x64, config: Release} + - {os: macos-latest-large, generator: clang, arch: x64, config: Release} runs-on: ${{ matrix.variant.os }} name: parser / ${{ matrix.variant.os }} / ${{ matrix.variant.generator }} / ${{ matrix.variant.arch }} env: From 76f6fcfaa89f1a5bb3435af54e1716169f693567 Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Sat, 22 Jun 2024 09:33:04 -0700 Subject: [PATCH 04/18] consistency --- src/tests/tests_parser.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/tests_parser.cc b/src/tests/tests_parser.cc index 03480db..81ee11a 100644 --- a/src/tests/tests_parser.cc +++ b/src/tests/tests_parser.cc @@ -176,7 +176,7 @@ constexpr TestCaseValues TestCaseCompleteDump{ }; constexpr TestCaseValues TestLiveKernelBitmapDump{ - "FullLiveKernelMemory.dmp", + "fulllivekernelmemory.dmp", kdmpparser::DumpType_t::LiveKernelBitmapDump, 0x154f5, 0x0000000d96a9000, // cr3 From c690b991322aea5cba31cdf637ffff34d112c749 Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Sat, 22 Jun 2024 09:36:24 -0700 Subject: [PATCH 05/18] macos --- .github/workflows/kdmp-parser.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/kdmp-parser.yml b/.github/workflows/kdmp-parser.yml index 44acf89..b46d39f 100644 --- a/.github/workflows/kdmp-parser.yml +++ b/.github/workflows/kdmp-parser.yml @@ -115,7 +115,7 @@ jobs: # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo, py-arch: x64} # Unsupported (see https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json) - {os: ubuntu-latest, generator: gcc, arch: x64, config: RelWithDebInfo, py-arch: x64} - {os: ubuntu-latest, generator: clang, arch: x64, config: RelWithDebInfo, py-arch: x64} - - {os: macos-latest, generator: clang, arch: x64, config: Release, py-arch: x64} + - {os: macos-latest-large, generator: clang, arch: x64, config: Release, py-arch: x64} runs-on: ${{ matrix.variant.os }} name: bindings / ${{ matrix.variant.os }} / ${{ matrix.variant.generator }} / ${{ matrix.python-version }} / ${{ matrix.variant.arch }} env: @@ -148,7 +148,7 @@ jobs: sudo apt-get -y update - name: Environment Setup (OSX) - if: matrix.variant.os == 'macos-latest' + if: matrix.variant.os == 'macos-latest-large' run: | echo From faf8d414066befde1921867e863abc7400a0399e Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Sat, 22 Jun 2024 09:37:25 -0700 Subject: [PATCH 06/18] bump version --- CMakeLists.txt | 2 +- src/python/pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1269349..a148615 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ project( kdmp-parser DESCRIPTION "A Cross-Platform C++ parser library for Windows kernel minidumps." HOMEPAGE_URL https://github.com/0vercl0k/kdmp-parser - VERSION 0.7.2 + VERSION 0.7.3 ) set(PROJECT_AUTHOR 0vercl0k) diff --git a/src/python/pyproject.toml b/src/python/pyproject.toml index 31a9bdc..053e32a 100644 --- a/src/python/pyproject.toml +++ b/src/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build" [project] name = "kdmp-parser" -version = "0.7.2" +version = "0.7.3" description = "A Cross-Platform C++ parser library for Windows kernel minidumps." readme = "README.md" requires-python = ">=3.8" From 36078c548501418176e580796e8fe2e1bc63c0ce Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Sat, 22 Jun 2024 11:29:42 -0700 Subject: [PATCH 07/18] fix --- src/python/CMakeLists.txt | 2 +- src/python/src/kdmp_parser.cc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt index d778594..638f439 100644 --- a/src/python/CMakeLists.txt +++ b/src/python/CMakeLists.txt @@ -13,7 +13,7 @@ project( kdmp-parser-python DESCRIPTION "A Cross-Platform C++ parser library for Windows kernel minidumps." HOMEPAGE_URL https://github.com/0vercl0k/kdmp-parser - VERSION 0.7.2 + VERSION 0.7.3 ) set(PROJECT_AUTHOR 0vercl0k) set(PROJECT_LICENSE MIT) diff --git a/src/python/src/kdmp_parser.cc b/src/python/src/kdmp_parser.cc index 0dd59b9..e6f042c 100644 --- a/src/python/src/kdmp_parser.cc +++ b/src/python/src/kdmp_parser.cc @@ -82,8 +82,8 @@ NB_MODULE(_kdmp_parser, m) { .def_ro("TotalPresentPages", &kdmpparser::BMP_HEADER64::TotalPresentPages) .def_ro("Pages", &kdmpparser::BMP_HEADER64::Pages) .def_ro("Bitmap", &kdmpparser::BMP_HEADER64::Bitmap) - .def("Show", &kdmpparser::PHYSMEM_DESC::Show, "Prefix"_a) - .def("LooksGood", &kdmpparser::PHYSMEM_DESC::LooksGood); + .def("Show", &kdmpparser::BMP_HEADER64::Show, "Prefix"_a) + .def("LooksGood", &kdmpparser::BMP_HEADER64::LooksGood); nb::class_(m, "RDMP_HEADER64") .def(nb::init<>()) From 73ffc08adf545249563bd210de745f4c83071eeb Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Sat, 22 Jun 2024 11:33:56 -0700 Subject: [PATCH 08/18] other fix --- src/python/src/kdmp_parser.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/python/src/kdmp_parser.cc b/src/python/src/kdmp_parser.cc index e6f042c..d95306f 100644 --- a/src/python/src/kdmp_parser.cc +++ b/src/python/src/kdmp_parser.cc @@ -269,8 +269,8 @@ NB_MODULE(_kdmp_parser, m) { return Hdr.u3.FullRdmpHeader; }) - .def("Show", &CONTEXT::Show, "Prefix"_a) - .def("LooksGood", &CONTEXT::LooksGood); + .def("Show", &HEADER64::Show, "Prefix"_a) + .def("LooksGood", &HEADER64::LooksGood); m.attr("PageSize") = kdmpparser::Page::Size; m.def("PageAlign", &kdmpparser::Page::Align, "Address"_a, From 29e23d97349d59633804c8a7f3f16593746c906c Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Sat, 22 Jun 2024 14:10:37 -0700 Subject: [PATCH 09/18] fix enum --- src/python/kdmp_parser/__init__.py | 1 + src/python/src/kdmp_parser.cc | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/python/kdmp_parser/__init__.py b/src/python/kdmp_parser/__init__.py index 59dd359..58ccae1 100644 --- a/src/python/kdmp_parser/__init__.py +++ b/src/python/kdmp_parser/__init__.py @@ -27,6 +27,7 @@ class DumpType(enum.IntEnum): FullDump = _DumpType_t.FullDump KernelDump = _DumpType_t.KernelDump BMPDump = _DumpType_t.BMPDump + LiveKernelBitmapDump = _DumpType_t.LiveKernelBitmapDump MiniDump = _DumpType_t.MiniDump KernelMemoryDump = _DumpType_t.KernelMemoryDump KernelAndUserMemoryDump = _DumpType_t.KernelAndUserMemoryDump diff --git a/src/python/src/kdmp_parser.cc b/src/python/src/kdmp_parser.cc index d95306f..0c4f61d 100644 --- a/src/python/src/kdmp_parser.cc +++ b/src/python/src/kdmp_parser.cc @@ -42,7 +42,6 @@ NB_MODULE(_kdmp_parser, m) { .value("FullDump", kdmpparser::DumpType_t::FullDump) .value("KernelDump", kdmpparser::DumpType_t::KernelDump) .value("BMPDump", kdmpparser::DumpType_t::BMPDump) - .value("LiveKernelBitmapDump", kdmpparser::DumpType_t::LiveKernelBitmapDump) .value("MiniDump", kdmpparser::DumpType_t::MiniDump) From 3003f49a5c52186fc649f7d54fc6ccfa433cc57e Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Sat, 22 Jun 2024 14:27:32 -0700 Subject: [PATCH 10/18] enum --- src/python/kdmp_parser/__init__.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/python/kdmp_parser/__init__.py b/src/python/kdmp_parser/__init__.py index 58ccae1..35f52e6 100644 --- a/src/python/kdmp_parser/__init__.py +++ b/src/python/kdmp_parser/__init__.py @@ -24,14 +24,14 @@ class DumpType(enum.IntEnum): - FullDump = _DumpType_t.FullDump - KernelDump = _DumpType_t.KernelDump - BMPDump = _DumpType_t.BMPDump - LiveKernelBitmapDump = _DumpType_t.LiveKernelBitmapDump - MiniDump = _DumpType_t.MiniDump - KernelMemoryDump = _DumpType_t.KernelMemoryDump - KernelAndUserMemoryDump = _DumpType_t.KernelAndUserMemoryDump - CompleteMemoryDump = _DumpType_t.CompleteMemoryDump + FullDump = int(_DumpType_t.FullDump) + KernelDump = int(_DumpType_t.KernelDump) + BMPDump = int(_DumpType_t.BMPDump) + LiveKernelBitmapDump = int(_DumpType_t.LiveKernelBitmapDump) + MiniDump = int(_DumpType_t.MiniDump) + KernelMemoryDump = int(_DumpType_t.KernelMemoryDump) + KernelAndUserMemoryDump = int(_DumpType_t.KernelAndUserMemoryDump) + CompleteMemoryDump = int(_DumpType_t.CompleteMemoryDump) class KernelDumpParser: From c4130903861264146bde8ccbd2f1b7f67f32612b Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Sat, 22 Jun 2024 19:48:12 -0700 Subject: [PATCH 11/18] enum --- src/python/kdmp_parser/__init__.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/python/kdmp_parser/__init__.py b/src/python/kdmp_parser/__init__.py index 35f52e6..d3223ba 100644 --- a/src/python/kdmp_parser/__init__.py +++ b/src/python/kdmp_parser/__init__.py @@ -24,14 +24,14 @@ class DumpType(enum.IntEnum): - FullDump = int(_DumpType_t.FullDump) - KernelDump = int(_DumpType_t.KernelDump) - BMPDump = int(_DumpType_t.BMPDump) - LiveKernelBitmapDump = int(_DumpType_t.LiveKernelBitmapDump) - MiniDump = int(_DumpType_t.MiniDump) - KernelMemoryDump = int(_DumpType_t.KernelMemoryDump) - KernelAndUserMemoryDump = int(_DumpType_t.KernelAndUserMemoryDump) - CompleteMemoryDump = int(_DumpType_t.CompleteMemoryDump) + FullDump = _DumpType_t.FullDump.value + KernelDump = _DumpType_t.KernelDump.value + BMPDump = _DumpType_t.BMPDump.value + LiveKernelBitmapDump = _DumpType_t.LiveKernelBitmapDump.value + MiniDump = _DumpType_t.MiniDump.value + KernelMemoryDump = _DumpType_t.KernelMemoryDump.value + KernelAndUserMemoryDump = _DumpType_t.KernelAndUserMemoryDump.value + CompleteMemoryDump = _DumpType_t.CompleteMemoryDump.value class KernelDumpParser: From 1b8fc99e1c2186ebe054410e42f98d227e9e6bbc Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Sat, 22 Jun 2024 21:05:18 -0700 Subject: [PATCH 12/18] enum --- src/python/kdmp_parser/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/python/kdmp_parser/__init__.py b/src/python/kdmp_parser/__init__.py index d3223ba..73f8717 100644 --- a/src/python/kdmp_parser/__init__.py +++ b/src/python/kdmp_parser/__init__.py @@ -57,7 +57,7 @@ def __init__(self, path: Union[str, pathlib.Path]): self.filepath = path self.context: __CONTEXT = self.__dump.GetContext() self.directory_table_base: int = self.__dump.GetDirectoryTableBase() & ~0xFFF - self.type = DumpType(self.__dump.GetDumpType()) + self.type = DumpType(self.__dump.GetDumpType().value) self.header: __HEADER64 = self.__dump.GetDumpHeader() self.pages = _PageIterator(self.__dump) return From 4cb16e2ffe4c274fffaf8098fd4735b23fb6a2fe Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Sat, 22 Jun 2024 21:36:13 -0700 Subject: [PATCH 13/18] macos13 then? --- .github/workflows/kdmp-parser.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/kdmp-parser.yml b/.github/workflows/kdmp-parser.yml index b46d39f..0e0c99c 100644 --- a/.github/workflows/kdmp-parser.yml +++ b/.github/workflows/kdmp-parser.yml @@ -40,7 +40,7 @@ jobs: # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo} - {os: ubuntu-latest, generator: gcc, arch: x64, config: RelWithDebInfo} - {os: ubuntu-latest, generator: clang, arch: x64, config: RelWithDebInfo} - - {os: macos-latest-large, generator: clang, arch: x64, config: Release} + - {os: macos-13, generator: clang, arch: x64, config: Release} runs-on: ${{ matrix.variant.os }} name: parser / ${{ matrix.variant.os }} / ${{ matrix.variant.generator }} / ${{ matrix.variant.arch }} env: From 386d65fdbd92208a7db7ea74335897b3758bc8cf Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Sat, 22 Jun 2024 21:38:39 -0700 Subject: [PATCH 14/18] osx13 --- .github/workflows/kdmp-parser.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/kdmp-parser.yml b/.github/workflows/kdmp-parser.yml index 0e0c99c..32b5320 100644 --- a/.github/workflows/kdmp-parser.yml +++ b/.github/workflows/kdmp-parser.yml @@ -115,7 +115,7 @@ jobs: # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo, py-arch: x64} # Unsupported (see https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json) - {os: ubuntu-latest, generator: gcc, arch: x64, config: RelWithDebInfo, py-arch: x64} - {os: ubuntu-latest, generator: clang, arch: x64, config: RelWithDebInfo, py-arch: x64} - - {os: macos-latest-large, generator: clang, arch: x64, config: Release, py-arch: x64} + - {os: macos-13, generator: clang, arch: x64, config: Release, py-arch: x64} runs-on: ${{ matrix.variant.os }} name: bindings / ${{ matrix.variant.os }} / ${{ matrix.variant.generator }} / ${{ matrix.python-version }} / ${{ matrix.variant.arch }} env: From 89c946cf60c0b64491e49fb4df236acb0890781d Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Sat, 22 Jun 2024 21:46:41 -0700 Subject: [PATCH 15/18] revert to win2019? --- .github/workflows/kdmp-parser.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/kdmp-parser.yml b/.github/workflows/kdmp-parser.yml index 32b5320..405171e 100644 --- a/.github/workflows/kdmp-parser.yml +++ b/.github/workflows/kdmp-parser.yml @@ -34,12 +34,13 @@ jobs: fail-fast: false matrix: variant: - - {os: windows-latest, generator: msvc, arch: x64, config: RelWithDebInfo} - - {os: windows-latest, generator: ninja, arch: x64, config: RelWithDebInfo} - - {os: windows-latest, generator: msvc, arch: win32, config: RelWithDebInfo} + - {os: windows-2019, generator: msvc, arch: x64, config: RelWithDebInfo} + - {os: windows-2019, generator: ninja, arch: x64, config: RelWithDebInfo} + - {os: windows-2019, generator: msvc, arch: win32, config: RelWithDebInfo} # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo} - {os: ubuntu-latest, generator: gcc, arch: x64, config: RelWithDebInfo} - {os: ubuntu-latest, generator: clang, arch: x64, config: RelWithDebInfo} + # most up to date free intel based osx? - {os: macos-13, generator: clang, arch: x64, config: Release} runs-on: ${{ matrix.variant.os }} name: parser / ${{ matrix.variant.os }} / ${{ matrix.variant.generator }} / ${{ matrix.variant.arch }} @@ -58,7 +59,7 @@ jobs: path: . - name: Environment Setup (Windows) - if: matrix.variant.os == 'windows-latest' + if: matrix.variant.os == 'windows-2019' run: | Import-Module .\.github\Invoke-VisualStudio.ps1 Invoke-VisualStudio2022${{ matrix.variant.arch }} @@ -110,11 +111,12 @@ jobs: # nanobind does not support Python < 3.8. python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] variant: - - {os: windows-latest, generator: msvc, arch: x64, config: RelWithDebInfo, py-arch: x64} - - {os: windows-latest, generator: msvc, arch: win32, config: RelWithDebInfo, py-arch: x86} + - {os: windows-2019, generator: msvc, arch: x64, config: RelWithDebInfo, py-arch: x64} + - {os: windows-2019, generator: msvc, arch: win32, config: RelWithDebInfo, py-arch: x86} # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo, py-arch: x64} # Unsupported (see https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json) - {os: ubuntu-latest, generator: gcc, arch: x64, config: RelWithDebInfo, py-arch: x64} - {os: ubuntu-latest, generator: clang, arch: x64, config: RelWithDebInfo, py-arch: x64} + # most up to date free intel based osx? - {os: macos-13, generator: clang, arch: x64, config: Release, py-arch: x64} runs-on: ${{ matrix.variant.os }} name: bindings / ${{ matrix.variant.os }} / ${{ matrix.variant.generator }} / ${{ matrix.python-version }} / ${{ matrix.variant.arch }} @@ -137,7 +139,7 @@ jobs: architecture: ${{ matrix.variant.py-arch }} - name: Environment Setup (Windows) - if: matrix.variant.os == 'windows-latest' + if: matrix.variant.os == 'windows-2019' run: | Import-Module .\.github\Invoke-VisualStudio.ps1 Invoke-VisualStudio2022${{ matrix.variant.arch }} From b4876356082872381f9daae1fb83d8fdff240147 Mon Sep 17 00:00:00 2001 From: hugsy Date: Sun, 23 Jun 2024 11:44:20 -0700 Subject: [PATCH 16/18] [ci] pinned runner versions --- .github/workflows/kdmp-parser.yml | 8 ++++---- src/python/pyproject.toml | 7 ++++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/kdmp-parser.yml b/.github/workflows/kdmp-parser.yml index 405171e..911111d 100644 --- a/.github/workflows/kdmp-parser.yml +++ b/.github/workflows/kdmp-parser.yml @@ -38,8 +38,8 @@ jobs: - {os: windows-2019, generator: ninja, arch: x64, config: RelWithDebInfo} - {os: windows-2019, generator: msvc, arch: win32, config: RelWithDebInfo} # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo} - - {os: ubuntu-latest, generator: gcc, arch: x64, config: RelWithDebInfo} - - {os: ubuntu-latest, generator: clang, arch: x64, config: RelWithDebInfo} + - {os: ubuntu-2204, generator: gcc, arch: x64, config: RelWithDebInfo} + - {os: ubuntu-2204, generator: clang, arch: x64, config: RelWithDebInfo} # most up to date free intel based osx? - {os: macos-13, generator: clang, arch: x64, config: Release} runs-on: ${{ matrix.variant.os }} @@ -114,8 +114,8 @@ jobs: - {os: windows-2019, generator: msvc, arch: x64, config: RelWithDebInfo, py-arch: x64} - {os: windows-2019, generator: msvc, arch: win32, config: RelWithDebInfo, py-arch: x86} # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo, py-arch: x64} # Unsupported (see https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json) - - {os: ubuntu-latest, generator: gcc, arch: x64, config: RelWithDebInfo, py-arch: x64} - - {os: ubuntu-latest, generator: clang, arch: x64, config: RelWithDebInfo, py-arch: x64} + - {os: ubuntu-2204, generator: gcc, arch: x64, config: RelWithDebInfo} + - {os: ubuntu-2204, generator: clang, arch: x64, config: RelWithDebInfo} # most up to date free intel based osx? - {os: macos-13, generator: clang, arch: x64, config: Release, py-arch: x64} runs-on: ${{ matrix.variant.os }} diff --git a/src/python/pyproject.toml b/src/python/pyproject.toml index 053e32a..11b8d26 100644 --- a/src/python/pyproject.toml +++ b/src/python/pyproject.toml @@ -13,6 +13,11 @@ classifiers = [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Assemblers", "Natural Language :: English", ] @@ -37,4 +42,4 @@ test-command = "pytest {project}/tests" test-requires = "pytest" [tool.cibuildwheel.macos.environment] -MACOSX_DEPLOYMENT_TARGET = "10.14" +MACOSX_DEPLOYMENT_TARGET = "10.13" From a6b96252ca6769436b75a44e550dbe45544b9461 Mon Sep 17 00:00:00 2001 From: hugsy Date: Sun, 23 Jun 2024 13:07:09 -0700 Subject: [PATCH 17/18] fixed typo in ubuntu runner --- .github/workflows/kdmp-parser.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/kdmp-parser.yml b/.github/workflows/kdmp-parser.yml index 911111d..16bfa6a 100644 --- a/.github/workflows/kdmp-parser.yml +++ b/.github/workflows/kdmp-parser.yml @@ -38,8 +38,8 @@ jobs: - {os: windows-2019, generator: ninja, arch: x64, config: RelWithDebInfo} - {os: windows-2019, generator: msvc, arch: win32, config: RelWithDebInfo} # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo} - - {os: ubuntu-2204, generator: gcc, arch: x64, config: RelWithDebInfo} - - {os: ubuntu-2204, generator: clang, arch: x64, config: RelWithDebInfo} + - {os: ubuntu-22.04, generator: gcc, arch: x64, config: RelWithDebInfo} + - {os: ubuntu-22.04, generator: clang, arch: x64, config: RelWithDebInfo} # most up to date free intel based osx? - {os: macos-13, generator: clang, arch: x64, config: Release} runs-on: ${{ matrix.variant.os }} @@ -114,8 +114,8 @@ jobs: - {os: windows-2019, generator: msvc, arch: x64, config: RelWithDebInfo, py-arch: x64} - {os: windows-2019, generator: msvc, arch: win32, config: RelWithDebInfo, py-arch: x86} # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo, py-arch: x64} # Unsupported (see https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json) - - {os: ubuntu-2204, generator: gcc, arch: x64, config: RelWithDebInfo} - - {os: ubuntu-2204, generator: clang, arch: x64, config: RelWithDebInfo} + - {os: ubuntu-22.04, generator: gcc, arch: x64, config: RelWithDebInfo} + - {os: ubuntu-22.04, generator: clang, arch: x64, config: RelWithDebInfo} # most up to date free intel based osx? - {os: macos-13, generator: clang, arch: x64, config: Release, py-arch: x64} runs-on: ${{ matrix.variant.os }} From 100028a1ea4d0c7f52c148490f72da939dda27e8 Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Mon, 24 Jun 2024 16:45:02 -0700 Subject: [PATCH 18/18] fix platforms --- .github/workflows/kdmp-parser.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/kdmp-parser.yml b/.github/workflows/kdmp-parser.yml index 16bfa6a..90cbdfa 100644 --- a/.github/workflows/kdmp-parser.yml +++ b/.github/workflows/kdmp-parser.yml @@ -66,19 +66,19 @@ jobs: echo "CMAKE_ARCH='-A ${{ matrix.variant.arch }}'" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - name: Environment Setup (Linux) - if: matrix.variant.os == 'ubuntu-latest' + if: matrix.variant.os == 'ubuntu-22.04' run: | sudo apt update - name: Build (Linux/GCC) - if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'gcc' + if: matrix.variant.os == 'ubuntu-22.04' && matrix.variant.generator == 'gcc' run: | sudo apt install -y g++ echo CC=gcc >> $GITHUB_ENV echo CXX=g++ >> $GITHUB_ENV - name: Environment Setup (Linux/CLang) - if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'clang' + if: matrix.variant.os == 'ubuntu-22.04' && matrix.variant.generator == 'clang' run: | sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" echo CC=clang >> $GITHUB_ENV @@ -145,24 +145,24 @@ jobs: Invoke-VisualStudio2022${{ matrix.variant.arch }} - name: Environment Setup (Linux) - if: matrix.variant.os == 'ubuntu-latest' + if: matrix.variant.os == 'ubuntu-22.04' run: | sudo apt-get -y update - name: Environment Setup (OSX) - if: matrix.variant.os == 'macos-latest-large' + if: matrix.variant.os == 'macos-13' run: | echo - name: Environment Setup (Linux/GCC) - if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'gcc' + if: matrix.variant.os == 'ubuntu-22.04' && matrix.variant.generator == 'gcc' run: | sudo apt install -y g++ echo CC=gcc >> $GITHUB_ENV echo CXX=g++ >> $GITHUB_ENV - name: Environment Setup (Linux/CLang) - if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'clang' + if: matrix.variant.os == 'ubuntu-22.04' && matrix.variant.generator == 'clang' run: | sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" echo CC=clang >> $GITHUB_ENV