Skip to content

Commit c3bb351

Browse files
committed
ci: add GitHub workflow
1 parent 6810fc1 commit c3bb351

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

.github/workflows/ci.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Scala CI
2+
3+
on:
4+
push:
5+
branches: [ "master" ]
6+
pull_request:
7+
8+
jobs:
9+
test:
10+
name: Test
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
- uses: coursier/cache-action@v6
16+
- uses: VirtusLab/scala-cli-setup@main
17+
with:
18+
power: true
19+
20+
- name: Run tests
21+
run: scala-cli test .
22+
23+
format:
24+
name: Format
25+
runs-on: ubuntu-latest
26+
27+
steps:
28+
- uses: actions/checkout@v4
29+
- uses: coursier/cache-action@v6
30+
- uses: VirtusLab/scala-cli-setup@main
31+
with:
32+
power: true
33+
34+
- name: Check formatting
35+
run: scala-cli format --check .
36+
37+
examples:
38+
name: Examples
39+
runs-on: ubuntu-latest
40+
41+
steps:
42+
- uses: actions/checkout@v4
43+
- uses: coursier/cache-action@v6
44+
- uses: VirtusLab/scala-cli-setup@main
45+
with:
46+
power: true
47+
48+
- name: Run Hello World
49+
run: |
50+
output=$(scala-cli run . -- "$(cat examples/helloworld.b)")
51+
test "$output" = "Hello World!"
52+
- name: Run Addition
53+
run: |
54+
output=$(scala-cli run . -- "$(cat examples/addition.b)")
55+
test "$output" = "7"
56+
- name: Run Bubble Sort
57+
run: |
58+
output=$(echo -n "9c786a5412b" | scala-cli run . -- "$(cat examples/bubblesort.b)")
59+
test "$output" = "12345678abc"
60+
- name: Run ROT13
61+
run: |
62+
output=$(echo -n "Uryyb, Jbeyq!" | scala-cli run . -- "$(cat examples/rot13.b)")
63+
test "$output" = "Hello, World!"

0 commit comments

Comments
 (0)