Files
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

71 lines
2.5 KiB
Python

# Copyright Advanced Micro Devices, Inc.
# SPDX-License-Identifier: MIT
from pathlib import Path
import os
import sys
import unittest
from unittest import mock
from packaging.version import Version
sys.path.insert(0, os.fspath(Path(__file__).parent.parent))
import determine_version
class DetermineVersionTest(unittest.TestCase):
def test_dev_version_suffix(self):
rocm_version = "7.0.0.dev0+515115ea2cb85a0b71b5507ce56a627d14c7ae73"
suffix = determine_version.derive_version_suffix(rocm_version)
self.assertEqual(
suffix,
"+devrocm7.0.0.dev0-515115ea2cb85a0b71b5507ce56a627d14c7ae73",
)
def test_nightly_version_suffix(self):
rocm_version = "7.0.0rc20250707"
suffix = determine_version.derive_version_suffix(rocm_version)
self.assertEqual(suffix, "+rocm7.0.0rc20250707")
def test_version_suffix_sorting(self):
# This tests that version suffixes follow this ordering:
# final > prerelease > alpha > dev
rocm_version_final = "7.0.0"
rocm_version_prerelease = "7.0.0rc1"
rocm_version_alpha = "7.0.0a20251202"
rocm_version_dev = "7.0.0.dev0+515115ea2cb85a0b71b5507ce56a627d14c7ae73"
suffix_final = determine_version.derive_version_suffix(rocm_version_final)
suffix_prerelease = determine_version.derive_version_suffix(
rocm_version_prerelease
)
suffix_alpha = determine_version.derive_version_suffix(rocm_version_alpha)
suffix_dev = determine_version.derive_version_suffix(rocm_version_dev)
version_final = Version("1" + suffix_final)
version_prerelease = Version("1" + suffix_prerelease)
version_alpha = Version("1" + suffix_alpha)
version_dev = Version("1" + suffix_dev)
self.assertGreater(version_final, version_prerelease)
self.assertGreater(version_prerelease, version_alpha)
self.assertGreater(version_alpha, version_dev)
def test_write_env_file_sets_build_arguments_and_suffix(self):
rocm_version = "7.0.0"
with mock.patch.object(determine_version, "gha_set_env") as gha_set_env:
determine_version.main(["--rocm-version", rocm_version, "--write-env-file"])
gha_set_env.assert_called_once_with(
{
"optional_build_prod_arguments": (
"--rocm-sdk-version ==7.0.0 --version-suffix +rocm7.0.0"
),
"version_suffix": "+rocm7.0.0",
}
)
if __name__ == "__main__":
unittest.main()