diff --git a/automation/script/module.py b/automation/script/module.py index bb1f73440..5cac406ae 100644 --- a/automation/script/module.py +++ b/automation/script/module.py @@ -3402,6 +3402,11 @@ def _run_deps(self, deps, clean_env_keys_deps, env, state, const, const_state, a if env.get(t, '').strip() != '': d['tags'] += "," + env[t] + update_tags_if_env = d.get("update_tags_if_env", []) + for t in update_tags_if_env: + if not is_dep_tobe_skipped(update_tags_if_env[t], env): + d['tags'] += "," + t + inherit_variation_tags = d.get("inherit_variation_tags", False) skip_inherit_variation_groups = d.get( "skip_inherit_variation_groups", []) @@ -5772,10 +5777,16 @@ def update_state_from_meta(meta, env, state, const, const_state, deps, post_deps for c_meta in run_state['update_meta_if_env']: if is_dep_tobe_skipped(c_meta, env): continue + utils.merge_dicts({'dict1': default_env, 'dict2': c_meta.get( + 'default_env', {}), 'append_lists': True, 'append_unique': True}) utils.merge_dicts({'dict1': env, 'dict2': c_meta.get( 'env', {}), 'append_lists': True, 'append_unique': True}) + utils.merge_dicts({'dict1': const, 'dict2': c_meta.get( + 'const', {}), 'append_lists': True, 'append_unique': True}) utils.merge_dicts({'dict1': state, 'dict2': c_meta.get( 'state', {}), 'append_lists': True, 'append_unique': True}) + utils.merge_dicts({'dict1': const_state, 'dict2': c_meta.get( + 'const_state', {}), 'append_lists': True, 'append_unique': True}) if c_meta.get('docker', {}): if not state.get('docker', {}): state['docker'] = {} @@ -5784,6 +5795,10 @@ def update_state_from_meta(meta, env, state, const, const_state, deps, post_deps 'append_lists': True, 'append_unique': True}) + # Updating again in case update_meta_if_env happened + for key in default_env: + env.setdefault(key, default_env[key]) + update_const = meta.get('const', {}) if update_const: const.update(update_const) diff --git a/script/get-oneapi/install.sh b/script/get-oneapi/install.sh index ef2039e43..59d523b6a 100644 --- a/script/get-oneapi/install.sh +++ b/script/get-oneapi/install.sh @@ -7,3 +7,10 @@ cmd="bash ./${MLC_ONEAPI_INSTALL_FILENAME} -a --silent --cli --eula accept --in echo $cmd eval $cmd + +if [[ ${MLC_ONEAPI_FORTRAN} == 'yes' ]] then + wget -nc https://registrationcenter-download.intel.com/akdlm/IRC_NAS/2238465b-cfc7-4bf8-ad04-e55cb6577cba/intel-fortran-essentials-2025.1.1.8_offline.sh + cmd="bash ./intel-fortran-essentials-2025.1.1.8_offline.sh -a --silent --cli --eula accept --install-dir ${PWD}/install" + echo $cmd + eval $cmd +fi diff --git a/script/get-oneapi/meta.yaml b/script/get-oneapi/meta.yaml index 653418412..14394cf2a 100644 --- a/script/get-oneapi/meta.yaml +++ b/script/get-oneapi/meta.yaml @@ -41,3 +41,6 @@ variations: path.#: env: MLC_ONEAPI_DIR_PATH: "#" + fortran: + env: + MLC_ONEAPI_FORTRAN: 'yes'