You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+41-10Lines changed: 41 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,10 @@
1
1
install-crystal
2
2
===============
3
3
4
-
[GitHub Action][] to **install [Crystal][] programming language**
4
+
[GitHub Action][] to **install [Crystal][] programming language** and [Shards][] package manager.
5
5
6
6
Works on Ubuntu, macOS, Windows.
7
7
8
-
On Ubuntu and macOS this also installs `shards`. This will be expanded in the future.
9
-
10
8
## Examples
11
9
12
10
```yaml
@@ -20,10 +18,20 @@ steps:
20
18
- uses: actions/checkout@v2
21
19
- uses: oprypin/install-crystal@v1
22
20
with:
23
-
crystal: 0.34.0
21
+
crystal: 0.35.0
24
22
- run: crystal spec
25
23
```
26
24
25
+
```yaml
26
+
steps:
27
+
- uses: actions/checkout@v2
28
+
- uses: oprypin/install-crystal@v1
29
+
with:
30
+
shards: true
31
+
- run: shards install
32
+
```
33
+
34
+
27
35
[Find usages in the wild!](https://github.com/search?l=YAML&q=%22oprypin%2Finstall-crystal%22&type=Code)
28
36
29
37
Alternatively, you can use the container-based approach [as in the starter workflow][crystal-starter] (without this action), but the advantage here is the unified approach to installation across 3 systems.
@@ -32,17 +40,38 @@ Alternatively, you can use the container-based approach [as in the starter workf
32
40
33
41
### Inputs
34
42
35
-
* **`crystal: 0.34.0`** (not supported on Windows)
43
+
* * **`crystal: 0.35.0`** (not supported on Windows)
44
+
45
+
Install a particular release of Crystal.
46
+
47
+
* **`crystal: latest`** (default; not supported on Windows)
48
+
49
+
Install the latest released version of Crystal.
50
+
51
+
* **`crystal: nightly`** (default on Windows)
52
+
53
+
Install Crystal from the latest continuous build on [crystal.git][] master.
54
+
55
+
* * **`shards: true`** (default)
56
+
57
+
Ensure that *some* released version of [Shards][] is available (or `nightly` on Windows).
58
+
This uses the build that's bundled with Crystal's releases. Other options are slower, as building Shards is a necessary step then.
59
+
60
+
* **`shards: false`** (default on Windows)
61
+
62
+
Ensure that `shards` executable is *not* available.
63
+
64
+
* **`shards: latest`** (not supported on Windows)
36
65
37
-
Install a particular release of Crystal.
66
+
Build and install the latest released version of Shards.
38
67
39
-
* **`crystal: latest`** (default; not supported on Windows)
68
+
* **`shards: 0.12.0`** (not supported on Windows)
40
69
41
-
Install the latest released version of Crystal.
70
+
Build and install a particular release of Shards.
42
71
43
-
* **`crystal: nightly`** (default on Windows)
72
+
* **`shards: nightly`**
44
73
45
-
Install Crystal from the latest continuous build on [crystal.git][] master.
74
+
Build and install the latest commit of [shards.git][] master.
46
75
47
76
* **`arch: x86_64`**, **`arch: x86`** (defaults to current OS arch)
48
77
@@ -66,4 +95,6 @@ Alternatively, you can use the container-based approach [as in the starter workf
0 commit comments