GithubHelp home page GithubHelp logo

setup-raku's Introduction

setup raku

This action sets up a Raku environment for use in GitHub Actions.

Usage

See action.yml for the details.

Basic:

jobs:
  raku:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: Raku/setup-raku@v1  # By default, this sets up the latest rakudo

Matrix:

jobs:
  raku:
    strategy:
      matrix:
        os:
          - ubuntu-latest
          - macos-latest
          - windows-latest
        raku-version:
          - "2020.06"
          - "2020.05.1"
          - "2020.02.1"
          - "2020.01"
          - "2019.11"
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4
      - uses: Raku/setup-raku@v1
        with:
          raku-version: ${{ matrix.raku-version }}

FAQ

What raku-versions are available?

Try this command:

curl -s https://rakudo.org/dl/rakudo | jq -r '. [] | select( .platform != "src" ) | .ver' | sort -r | uniq

License

MIT

setup-raku's People

Contributors

altai-man avatar dependabot[bot] avatar skaji avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

setup-raku's Issues

Allow user to use a different docker version of Ubuntu

This may be the wrong place to file the issue, but I would like to somehow use another Ubuntu image.

My problem with the default image is I have to add Perl packages to it before Raku modules are loaded. My Raku module being tested uses Inline:Perl5 and about six Perl modules, and that added configuration takes seven or eight minutes at least.

Expand README to tell how to put it all together with emphasis on module testing

iThe github description of workflows is terrible. The bones of a useful workflow are here, but a bit more detail is needed for those of us who aren't very sure how it all fits together and works for our own module testing. For example:

  1. Does the name of the *.yml (or *.yaml) file have any significance?
  2. Where is the source of the actions/checkout version?
  3. Where is the source of the Raku/actions version?
  4. Where can I read about the format of a yaml file?
  5. How can I test my mytest.yml file?

I would like to see a couple of examples that are useful in specific instances such as having to add extra packages or compiling and executing a user library.

I would also like to see workflows discussed in the docs for module publishers.

I have started a new Raku repository (github-workflow-examples) for such examples.

Resolving to 523

image

Recently all of my latest raku setups have failed with 523. Not sure if this is GitHub, this repo, or what. Thanks!

Adding Workflow Caching Feature

Just wondering if there is added value in enhancing this widely used and very handy workfow to cache the download of rakudo.

The aim would be to make workflows that use "setup-raku" more robust, efficient and faster, as setup-raku would always "deliver" (except on first time runs, as nothing is cached yet), preventing not needed downloads and work even when http://rakudo.org/ is offline or slow.

Here it is suggested, to reload on dependency changes only, so maybe only fetch when the calculated download URL changes (compared to the cached version) AND $URL is reachable AND download is finished in less than Timeout (e.g. 5 seconds)? In all other cases we stay with the cached version of rakudo.

Downloading rakudo 2023.10 from $URL

with e.g. $URL = http://rakudo.org/dl/rakudo/rakudo-moar-2023.10-02-macos-x86_64-clang.tar.gz

key: ${{ runner.os }}-${{ hash('$URL') }}

Maybe something is this direction?

rakudo 2020.11 changes the top directory name in the tarball

rakudo 2020.11 changes the top directory name in the tarball, so that setup-raku fails.

Run Raku/setup-raku@v1
Downloading rakudo latest from https://rakudo.org/dl/rakudo/rakudo-moar-2020.11-01-linux-x86_64-gcc.tar.gz
Extracting archive
/bin/tar xz --warning=no-unknown-keyword -C /home/runner/work/_temp/e0d8683c-1e36-4f97-8ec2-542ece27282f -f /home/runner/work/_temp/a88c2bc1-f3f2-4ca9-8c63-f864335fc6ce
Error: ENOENT: no such file or directory, stat '/home/runner/work/_temp/e0d8683c-1e36-4f97-8ec2-542ece27282f/rakudo-2020.11'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.