This repository is a fork of https://github.com/microsoft/vcpkg.
The default branch is "main" which is empty except for a github action that prebuilds various ports for the HPCC-Platform repository.
The following branches are active and correspond to the HPCC-Platform development branches:
- hpcc-platform-9.10.x
- hpcc-platform-9.8.x
- hpcc-platform-9.6.x
- hpcc-platform-9.4.x
- hpcc-platform-9.2.x
- hpcc-platform-8.12.x
- hpcc-platform-8.8.x
./bootstrap-vcpkg.sh
./vcpkg install --x-abi-tools-use-exact-versions --host-triplet=x64-linux-dynamic --triplet=x64-linux-dynamic
- The vcpkg build tool versions (cmake, ninja etc.): These are determined by the commit hash a branch is based on
- The default "baseline" for port versions: This is determined by the git hash found in the vcpkg-configuration.json
To create a new branch for a new HPCC-Platform release, follow these steps:
Prerequisites:
- git clone this repository (e.g.
git clone [email protected]:hpcc-systems/vcpkg.git
) - Add the official vcpkg repository as another remote called "microsoft" (e.g.
git remote add microsoft [email protected]:microsoft/vcpkg.git
)
In https://github.com/hpcc-systems/vcpkg:
git fetch --all --tags
to ensure you have all the latest changes- Check https://github.com/microsoft/vcpkg/releases to locate the latest release (e.g. 2024.05.24)
- Checkout the latest HPCC-Platform release branch (e.g. hpcc-platform-9.6.x)
- Create a new branch for the new HPCC-Platform release (e.g. hpcc-platform-9.8.x)
- Update the vcpkg.json file to include the new HPCC-Platform release version (e.g. "version": "9.8.0")
- Commit the changes
- Rebase the branch on the latest version as identified in step 2 above ensuring you squash the rebased commits with a suitable comment (e.g. "chore: Squash commits for 9.8.0 gold release ")
- Update the
baseline
field in the vcpkg-configuration.json file to the commit hash from step 2 above - In the HPCC-Platform repository, check the "vcpkg_overlays" folder for any new overlays that need to be added to the "overlays" folder in this repository. If found, copy them to the "overlays" folder in this repository
- Compare the contents of the "overlays" folder with the "vcpkg" folder. If any of the overlays match or are older than the vcpkg folder, delete them.
- Commit the changes with the
--amend
option to update the previous commit - Push the new branch to https://github.com/hpcc-systems/vcpkg
- Checkout the "main" branch
- Update this README.md file to include a link to the new branch in the "Active Branches" section
- Update the .github/workflows/prebuild.yml file to include two new jobs corresponding to the new branch:
- prebuild-docker-9-8
- prebuild-gh_envs-9-8
- Commit the changes and issue a PR to the vcpkg repository
Note: Step 11 above will trigger several github actions to prebuild the new branch. Once the prebuilds are complete, the new branch can be used in the HPCC-Platform repository.
In https://github.com/hpcc-systems/HPCC-Platform:
- Create a new branch based on the "latest" candidate branch (e.g. master)
- Delete the contents of the "vcpkg_overlays" folder (as they have been relocated with step 8 above).
- Update the
baseline
field in the vcpkg-configuration.json file to match the commit hash from the vcpkg submodule - Fetch the latest vcpkg submodule repository changes (e.g.
cd vcpkg && git fetch --all
) - Checkout the new branch created in step 4 above (e.g.
cd vcpkg && git checkout hpcc-platform-9.8.x
) - Commit the changes and issue a PR to the HPCC-Platform repository