-
Notifications
You must be signed in to change notification settings - Fork 14
Releasing A New Version Of AZSLc
Suggestion:
Before trying to put together a new release package for AZSLc, follow this suggestion to change the default path of the AZSLc executable, which can help you validate the new version with the engine before committing to a new package that may not work:
Try new version AZSLc before release.
In summary, releasing a new version of AZSLc is accomplished with the following steps:
- Clone AZSlc at the
development
branch. If the tag doesn't exist, create a tag based on the version described in AzslcMain.cpp. The tag should be pushed to theupstream
repository: https://github.com/o3de/o3de-azslc.git.
> git tag -a 1.8.9
> git push upstream 1.8.9
Remark: For the rest of the instructions the version number 1.8.9
will be used.
-
Clone https://github.com/o3de/3p-package-scripts.git, at the
main
branch. -
Clone https://github.com/o3de/3p-package-source.git, at the
main
branch. -
Now we need to update both the
"git_tag"
and"package_version"
properties in 3p-package-source/package-system/azslc/build_config.json. (Be sure to check for multiple instances of"package_version"
as there could be overrides in the per-platform sections):
...
"git_tag":"1.8.9",
...
"package_version":"1.8.9-rev1",
...
- Now let's update the new package name for each host platform: Windows, Linux and MacOS:
Windows:
Update
"build_from_source"
section of this json file 3p-package-source/package_build_list_host_windows.json . You should only replace the name of the json key called"azslc-<x.y.z>-rev1-windows"
with the new version. In this example the new name will be:"azslc-1.8.9-rev1-windows"
.
Update"build_from_folder"
section of the same json file 3p-package-source/package_build_list_host_windows.json . You should only replace the name of the json key called"azslc-<x.y.z>-rev1-windows"
with the new version. In this example the new name will be:"azslc-1.8.9-rev1-windows"
.
Linux:
Update
"build_from_source"
section of this json file 3p-package-source/package_build_list_host_linux.json . You should only replace the name of the json key called"azslc-<x.y.z>-rev1-linux"
with the new version. In this example the new name will be:"azslc-1.8.9-rev1-linux"
.
Update"build_from_folder"
section of the same json file 3p-package-source/package_build_list_host_linux.json . You should only replace the name of the json key called"azslc-<x.y.z>-rev1-linux"
with the new version. In this example the new name will be:"azslc-1.8.9-rev1-linux"
.
MacOS:
Update
"build_from_source"
section of this json file 3p-package-source/package_build_list_host_darwin.json . You should only replace the name of the json key called"azslc-<x.y.z>-rev1-mac"
with the new version. In this example the new name will be:"azslc-1.8.9-rev1-mac"
.
Update"build_from_folder"
section of the same json file 3p-package-source/package_build_list_host_darwin.json . You should only replace the name of the json key called"azslc-<x.y.z>-rev1-mac"
with the new version. In this example the new name will be:"azslc-1.8.9-rev1-mac"
.
-
Submit a single Pull Request for changes done in https://github.com/o3de/3p-package-source at Steps 4 & 5. (Continue with the checklist while the PR is pending, but it must be approved and merged prior to the final merge in o3de, step 15).
-
Install required python packages "boto3" and "certifi"
D:\> pip install boto3 certifi
- On a Windows machine generate the new package for windows, in this example it will be called
azslc-1.8.9-rev1-windows
:
D:\> cd GIT\3p-package-source\
D:\> python ..\3p-package-scripts\o3de_package_scripts\build_package.py --search_path . azslc-1.8.9-rev1-windows
If this step is successful the following files will be generated:
- D:\GIT\3p-package-source\packages\ :
azslc-1.8.9-rev1-windows.PackageInfo.json
azslc-1.8.9-rev1-windows.tar.xz
azslc-1.8.9-rev1-windows.tar.xz.content.SHA256SUMS
azslc-1.8.9-rev1-windows.tar.xz.SHA256SUMS
- On a Linux machine generate the new package for linux, in this example it will be called
azslc-1.8.9-rev1-linux
:
$ cd ~/GIT/3p-package-source/
$ python ../3p-package-scripts/o3de_package_scripts/build_package.py --search_path . azslc-1.8.9-rev1-linux
If this step is successful the following files will be generated:
- ~/GIT/3p-package-source/packages/ :
azslc-1.8.9-rev1-linux.PackageInfo.json
azslc-1.8.9-rev1-linux.tar.xz
azslc-1.8.9-rev1-linux.tar.xz.content.SHA256SUMS
azslc-1.8.9-rev1-linux.tar.xz.SHA256SUMS
- On a Mac machine generate the new package for MacOS, in this example it will be called
azslc-1.8.9-rev1-mac
:
$ cd ~/GIT/3p-package-source/
$ python ../3p-package-scripts/o3de_package_scripts/build_package.py --search_path . azslc-1.8.9-rev1-mac
If this step is successful the following files will be generated:
- ~/GIT/3p-package-source/packages/ :
azslc-1.8.9-rev1-mac.PackageInfo.json
azslc-1.8.9-rev1-mac.tar.xz
azslc-1.8.9-rev1-mac.tar.xz.content.SHA256SUMS
azslc-1.8.9-rev1-mac.tar.xz.SHA256SUMS
-
Submit all packages generated in steps 8, 9 & 10 to a trusted o3de maintainer so it can be uploaded into a staging S3 bucket.
-
The trusted o3de maintainer will issue a request for promotion to production.
-
AFTER there's confirmation that the AZSLc packages have been promoted to production, proceed to modify the engine code to reference the new packages:
Remark: These steps can be done with a single PR using the same machine (unlike steps 8, 9 & 10).
Windows:
"D:\GIT\o3de\cmake\3rdParty\Platform\Windows\BuiltInPackages_windows.cmake".
Linux:
"D:\GIT\o3de\cmake\3rdParty\Platform\Linux\BuiltInPackages_linux.cmake".
Mac:
"D:\GIT\o3de\cmake\3rdParty\Platform\Mac\BuiltInPackages_mac.cmake".
For all three files mentioned above simply update the PACKAGE_NAME
and PACKAGE_HASH
. The PACKAGE_HASH
is found in the GIT\3p-package-source\packages\
folder, inside the file name azslc-<version>-rev1-<platform>.tar.xz.SHA256SUMS
.
-
Submit the PR from step 13 into the o3de development branch. Include a link in the description to the 3p-package-source PR from step 6.
-
Ensure the 3p-package-source PR from step 6 has been approved and merged before proceeding.
-
Merge the PR from step 13 to the development branch of o3de.