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
71 lines
2.5 KiB
Python
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()
|