-
Notifications
You must be signed in to change notification settings - Fork 14
Releasing A New Version Of AZSLc
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:
...
"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.
-
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 7, 8 & 9 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 7, 8 & 9).
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 12 and once it is merged the job is complete.