last push | |||
---|---|---|---|
scheduled check |
App::Workflows::Github - a CI/CD workflow collection for Raku Module developers.
zef install App::Workflows::Github
cd your-module-directory
create-workflows-4-github
App::Workflows::Github is collecting Github workflows for testing your Module on Linux, MacOS and Windows.
Scheduled workflows only run automatically on github if the .yml files are pushed to the default branch - usually 'main'.
If you are on Windows and can not use WSL: consider switching off the maximum-path-length-limitation in case of failed tests during installation.
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
You might get away with temporarily setting TEMP to a short path.
set TEMP=D:\T
mkdir -Force %TEMP%
set TMP=%TEMP%
set ZEF_CONFIG_TEMPDIR=%TEMP%
Linux/MacOS/Windows install module command:
zef install App::Workflows::Github
Finally execute the following commands:
cd your-module-directory
create-workflows-4-github
This will create or overwrite the following files:
your-module-directory/.github/workflows/runner.yml
your-module-directory/.github/workflows/dispatch.yml
your-module-directory/.github/workflows/Linux.yml
your-module-directory/.github/workflows/MacOS.yml
your-module-directory/.github/workflows/Windows.yml
your-module-directory/run-tests.raku
Then do the usual three git steps to push the changes to github.
git add .github/workflows/
git add run-tests.raku
git commit -m"adding github workflows"
git push
To dispatch a workflow run using gh CLI use e.g.
cd your-module-directory
echo '{"verbosity":"debug", "os":"windows", "ad_hoc_pre_command":"pwd", "ad_hoc_post_command":"ls -alsh", "os_version":"2019", "raku_version":"2023.02", "run_prove6":"true", "install_module":"true", "run_tests_script":"true", "skip_deps_tests":"false"}' > run_parameters.json
cat run_parameters.json | gh workflow run 'dispatch' --ref branch-to-run-on --json
For 'os' you can choose any of 'ubuntu|macos|windows'. For 'os_version' check supported-runners-and-hardware-resources. For available 'raku_version' check here.
Open https://github.com/your-name/your-module/actions to check the workflow results or dispatch a run via browser.
rcmlz [email protected]
Copyright 2023 rcmlz
This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.