Based on hankache rakudo-star-win
The script build.ps1
is still here as a reference.
As the script doesn't check any dependencies, it did fail in my environment and may also fail on your Windows system!
Some reasons may be:
- The RAKUDO developers seem to rely on the Microsoft Visual C toolchain, like
cl.exe
,nmake.exe
and friends nowadays, but in this script the GNU tool chain is still used to compile RAKUDO. - To build NQP (and the MoarVM?) it is a hard requirement, checked and enforced by the RAKUDO devs, to have
cl.exe
version 19 or newer available, but this is also not checked in this script.
- Builds a release as well localy on your Windows system as also on Github.com via a workflow Action!
- The script takes also care for all the required dependencies and assures everything is installed. It uses the choco tool for this, mainly because choco is already included in the windows-latest GitHub container.
-
The exctly same tag, as the release we want to build here, has to pre-exist on https://github.com/rakudo/rakudo/tags
- For example it may be something like
2021.04
or2021.02.1
- For example it may be something like
-
- YOU need to install it on your Windows system before you can run
build-with-choco.ps1
locally!- To do so, use i.e. either
vs_community
orvs_buildtools
or just use choco by runningchoco install visualstudio2019community
- To do so, use i.e. either
- YOU need to install it on your Windows system before you can run
They are all available in windows-latest
- Build the MSI package and calculate the sha256 checksum:
.\build-with-choco.ps1 [YYYY.MM]
(YYYY.MM
is optional. If not given, the RAKUDO latest form GitHub will be used)
- Build the MSI package, calculate the sha256 checksum and sign the MSI with your key:
.\build-with-choco.ps1 [YYYY.MM] -sign
- rakudo-star-YYYY.MM-[X-]win-x86_64-(JIT).msi
- rakudo-star-YYYY.MM-[X-]win-x86_64-(JIT).msi.sha256.txt
- rakudo-star-YYYY.MM-[X-]win-x86_64-(JIT).msi.asc (optional with the
-sign
option)
- Create a tag, which needs to be the same as on RAKUDO and push it to this repo
git tag -a 2021.04 -m 'Following the https://github.com/rakudo/rakudo/ release cycle'
git push --tags
- You can now watch the build in the
Actions
tab in your GitHub repo - After some time there should be a new release published