{"id":14966088,"url":"https://github.com/pmqs/raku-github-workflows","last_synced_at":"2025-10-25T13:31:11.053Z","repository":{"id":150797963,"uuid":"275371244","full_name":"pmqs/Raku-GitHub-Workflows","owner":"pmqs","description":"Github Workflows for testing Raku code on Linux, Windows \u0026 MacOS","archived":false,"fork":false,"pushed_at":"2020-12-21T22:24:26.000Z","size":37,"stargazers_count":4,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-31T07:21:50.022Z","etag":null,"topics":["github-workflows","perl6","raku","testing-raku","workflow"],"latest_commit_sha":null,"homepage":"","language":"Raku","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pmqs.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-27T12:50:29.000Z","updated_at":"2022-08-26T06:15:20.000Z","dependencies_parsed_at":"2023-04-06T12:34:41.075Z","dependency_job_id":null,"html_url":"https://github.com/pmqs/Raku-GitHub-Workflows","commit_stats":{"total_commits":31,"total_committers":4,"mean_commits":7.75,"dds":"0.25806451612903225","last_synced_commit":"3d95b488a9ede155017d1bcdc14e1b9bbec8549e"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmqs%2FRaku-GitHub-Workflows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmqs%2FRaku-GitHub-Workflows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmqs%2FRaku-GitHub-Workflows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmqs%2FRaku-GitHub-Workflows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmqs","download_url":"https://codeload.github.com/pmqs/Raku-GitHub-Workflows/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238147589,"owners_count":19424289,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-workflows","perl6","raku","testing-raku","workflow"],"created_at":"2024-09-24T13:35:48.632Z","updated_at":"2025-10-25T13:31:10.734Z","avatar_url":"https://github.com/pmqs.png","language":"Raku","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Raku GitHub Workflows\n\n![Raku Caching Test](https://github.com/pmqs/Raku-GitHub-Workflows/workflows/Raku%20Caching%20Test/badge.svg)\n![Linux Docker Test](https://github.com/pmqs/Raku-GitHub-Workflows/workflows/Linux%20Docker%20Test/badge.svg)\n![Linux Star Docker Test](https://github.com/pmqs/Raku-GitHub-Workflows/workflows/Linux%20Star%20Docker%20Test/badge.svg)\n![MacOS Star Test](https://github.com/pmqs/Raku-GitHub-Workflows/workflows/MacOS%20Star%20Test/badge.svg)\n![Windows Star Test](https://github.com/pmqs/Raku-GitHub-Workflows/workflows/Windows%20Star%20Test/badge.svg)\n\nThis distribution contains a number of  GitHub workflows that can be used for testing [Raku](https://www.raku.org/) (Perl6) modules. The Raku code under `lib` and `t` is just dummy code that acts as a test harness for the workflows. Look in `.github/workflows` for the real deliverables from this dstribution.\n\n\n## Summary of Workflows Available\n\nThe workflows vary in the amount of control they have over the version of Raku used and the OS they run on. The table below summarised the feature set available in each.\n\n\nWorkflow File | OS Supported | Raku Origin |  Uses [Rakudo Star](https://rakudo.org/star) | Control Raku Version Used | Option To Run Latest Raku | GitHub Cache Support\n---|---|---|---|---|---|---\nwf-caching.yml | Linux, MacOS \u0026 Windows | [Rakudo Downloads](https://rakudo.org/downloads/rakudo) | No | Yes | Yes | Yes\nwf-linux-docker.yml | Linux | [Docker](https://hub.docker.com/r/jjmerelo/alpine-raku) | No | Yes | Yes | No\nwf-linux-star-docker.yml | Linux | [Rakudo Star Official Docker](https://hub.docker.com/_/rakudo-star/) | Yes | Yes | Yes | No\nwf-macos-star.yml |  MacOS | [Homebrew](https://github.com/Homebrew/homebrew-core/blob/master/Formula/rakudo-star.rb) | Yes | No  | No | No\nwf-windows-star.yml | Windows | [Chocolatey](https://chocolatey.org/packages/rakudostar)  | Yes |  No | No | No\n\n## Which one should you use?\n\nFor casual testing, one of the workflows that use [Rakudo Star](https://rakudo.org/star) is a good starting point. They usually have a relatively recent build of Raku, plus they come with a set of commonly used modules. Less chance of needing any prerequisite modules to be installed.\n\n## Why you may need a Caching Workflow\n\nAll the workflows use the [zef](https://github.com/ugexe/zef) Module Manager to automatically install Raku depencencies. If you are using a workflow that uses [Rakudo Star](https://rakudo.org/star) there may be no need to install any. [Rakudo Star](https://rakudo.org/star) may already include them.\n\nIf you have a use-case where your module dependencies are not present in a [Rakudo Star](https://rakudo.org/star) distribution, and you are not using workflow caching, those dependencies will get resolved by [zef](https://github.com/ugexe/zef) every time the workflow runs.\n\nAt the time of writing, installing Raku module dependencies can take a *long* time to run -- 5 minutes is typical. This is where a caching workflow can help. The `wf-caching.yml` workflow has been setup to use a GitHub cache to store all the modules that [zef](https://github.com/ugexe/zef) installs.\n\nThis means that the first time you run the workflow you will take the 5 minute hit, but the subsequent runs should be completed in seconds.\n\n\n## Limitations of Caching\n\nGitHub will only retain the cache for about a week if it isn't accessed.\n\n\n## Support\n\nSuggestions/patches/comments are welcomed at [Raku-GitHub-WorkFlows](https://github.com/pmqs/Raku-GitHub-Workflows)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmqs%2Fraku-github-workflows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmqs%2Fraku-github-workflows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmqs%2Fraku-github-workflows/lists"}