@@ -5,18 +5,22 @@ install-crystal
5
5
6
6
Works on Ubuntu, macOS, Windows.
7
7
8
+ ### Quickstart
9
+
10
+ ** [ Configurator] [ ] ** : get a pre-made config for your exact use case!
11
+
8
12
## Examples
9
13
10
14
``` yaml
11
15
steps :
12
- - uses : oprypin /install-crystal@v1
16
+ - uses : crystal-lang /install-crystal@v1
13
17
- run : crystal eval "puts 1337"
14
18
` ` `
15
19
16
20
` ` ` yaml
17
21
steps :
18
22
- uses : actions/checkout@v2
19
- - uses : oprypin /install-crystal@v1
23
+ - uses : crystal-lang /install-crystal@v1
20
24
with :
21
25
crystal : 0.35.1
22
26
- run : shards install
@@ -34,13 +38,13 @@ steps:
34
38
- {os: windows-latest}
35
39
runs-on : ${{matrix.os}}
36
40
steps :
37
- - uses : oprypin /install-crystal@v1
41
+ - uses : crystal-lang /install-crystal@v1
38
42
with :
39
43
crystal : ${{matrix.crystal}}
40
44
- uses : actions/checkout@v2
41
45
- run : shards install
42
46
- run : crystal spec
43
- - run : crystal tool format --check
47
+ - run : crystal tool format && git diff --exit-code
44
48
if : matrix.crystal == 'latest'
45
49
` ` `
46
50
@@ -52,68 +56,69 @@ Alternatively, you can use the container-based approach [as in the starter workf
52
56
53
57
### Inputs
54
58
55
- * * **` crystal: 0.35.1`** (not supported on Windows)
59
+ * * **` crystal: 0.35.1`** (not supported on Windows)
56
60
57
- Install a particular release of Crystal.
61
+ Install a particular release of Crystal.
58
62
59
- * **`crystal: latest`** (default; not supported on Windows)
63
+ * **`crystal: latest`** (default; not supported on Windows)
60
64
61
- Install the latest released version of Crystal.
65
+ Install the latest released version of Crystal.
62
66
63
- * **`crystal: nightly`** (default on Windows)
67
+ * **`crystal: nightly`** (default on Windows)
64
68
65
- Install Crystal from the latest continuous build on [crystal.git][] master.
69
+ Install Crystal from the latest continuous build on [crystal.git][] master.
66
70
67
- * * **`shards: true`** (default)
71
+ * * **`shards: true`** (default)
68
72
69
- Ensure that *some* released version of [Shards][] is available.
70
- This uses the build that's bundled with Crystal's releases. Other options are slower, as building Shards is a necessary step then.
73
+ Ensure that *some* released version of [Shards][] is available.
74
+ This uses the build that's bundled with Crystal's releases. Other options are slower, as building Shards is a necessary step then.
71
75
72
- * **`shards: false`**
76
+ * **`shards: false`**
73
77
74
- Ensure that `shards` executable is *not* available.
78
+ Ensure that `shards` executable is *not* available.
75
79
76
- * **`shards: latest`**
80
+ * **`shards: latest`**
77
81
78
- Build and install the latest released version of Shards.
82
+ Build and install the latest released version of Shards.
79
83
80
- * **`shards: 0.13.0`**
84
+ * **`shards: 0.13.0`**
81
85
82
- Build and install a particular release of Shards.
86
+ Build and install a particular release of Shards.
83
87
84
- * **`shards: nightly`**
88
+ * **`shards: nightly`**
85
89
86
- Build and install the latest commit of [shards.git][] master.
90
+ Build and install the latest commit of [shards.git][] master.
87
91
88
- * **`arch: x86_64`**, **`arch: x86`** (defaults to current OS arch)
92
+ * **`arch: x86_64`**, **`arch: x86`** (defaults to current OS arch)
89
93
90
- The architecture of the build of Crystal to download.
94
+ The architecture of the build of Crystal to download.
91
95
92
- * **`destination: some/path`**
96
+ * **`destination: some/path`**
93
97
94
- The directory to store Crystal in, after extracting. Will directly affect `outputs.path` (the default is in a temporary location).
98
+ The directory to store Crystal in, after extracting. Will directly affect `outputs.path` (the default is in a temporary location).
95
99
96
- * **`token: ${{ github.token }}`**
100
+ * **`token: ${{ github.token }}`**
97
101
98
- Personal access token (auto-populated).
102
+ Personal access token (auto-populated).
99
103
100
104
# ## Outputs
101
105
102
- * **`crystal`** (`${{ steps.some_step_id.outputs.crystal }}`)
106
+ * **`crystal`** (`${{ steps.some_step_id.outputs.crystal }}`)
103
107
104
- The actual version of Crystal (as a ref in crystal-lang/[crystal.git][]) that was installed.
108
+ The actual version of Crystal (as a ref in crystal-lang/[crystal.git][]) that was installed.
105
109
106
- * **`shards`** (`${{ steps.some_step_id.outputs.shards }}`)
110
+ * **`shards`** (`${{ steps.some_step_id.outputs.shards }}`)
107
111
108
- The actual version of Shards (as a ref in crystal-lang/[shards.git][]) that was installed.
112
+ The actual version of Shards (as a ref in crystal-lang/[shards.git][]) that was installed.
109
113
110
- * **`path`** (`${{ steps.some_step_id.outputs.path }}`)
114
+ * **`path`** (`${{ steps.some_step_id.outputs.path }}`)
111
115
112
- The path where Crystal was extracted to, so you can use '[path]/bin/crystal', '[path]/src' etc.
116
+ The path where Crystal was extracted to, so you can use '[path]/bin/crystal', '[path]/src' etc.
113
117
114
118
[github action] : https://github.com/features/actions
115
119
[crystal] : https://crystal-lang.org/
116
120
[crystal.git] : https://github.com/crystal-lang/crystal
117
121
[shards] : https://github.com/crystal-lang/shards
118
122
[shards.git] : https://github.com/crystal-lang/shards
119
123
[crystal-starter] : https://github.com/actions/starter-workflows/blob/master/ci/crystal.yml
124
+ [configurator] : https://crystal-lang.github.io/install-crystal/configurator.html
0 commit comments