Skip to content
This repository has been archived by the owner on Mar 9, 2024. It is now read-only.

MeilCli/setup-crystal-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

setup-crystal-action

CI-Master
setup Crystal action for GitHub Actions.

Required

setup-crystal-action must execute on Linux or macOS, because I do not know usage that WSL on GitHub Actions.

Example

name: CI

on: 
  push:
    branches:    
    - master
  pull_request:
    branches:
    - master

jobs:
  example:
    runs-on: ubuntu-20.04
    steps:
      - uses: MeilCli/setup-crystal-action@v4
        with: 
          crystal_version: latest
          shards_version: latest
      - name: Run Crystal
        run: |
          echo 'puts "Hello Crystal"' > hello.cr
          crystal run hello.cr

You can also pin to a specific release version in the format @v4.x.x

input

  • crystal_version
    • required
    • install crystal version
    • value: latest or version value, see crystal-lang/crystal
    • default: latest
    • warning:
      • latest sometimes cannot find crystal binary when immediately after release
  • shards_version
    • required
    • install shards version
    • value: latest or skip or version value, see crystal-lang/shards
      • if set skip, not install shards
    • default: latest
  • github_token
    • github token, using get GitHub Release of crystal-lang/crystal or crystal-lang/shards
    • default: ${{ github.token }}
  • cache_mode
  • cache_prefix
    • if selected cache on cache_mode, option that prefix of cache key
    • Recommended use when parallel jobs
  • install_root
    • if selected none or cache on cache_mode, use directory that dicide at this option
    • default: ${{ runner.temp }}

output

  • installed_crystal_json
    • installed json that GitHub Release Asset
  • installed_shards_json
    • installed json that GitHub Release

Contributes

Could you want to contribute?

see Contributing.md

License