Skip to content

Commit 22eae07

Browse files
authored
Merge pull request #21 from valpackett/master
Add GitHub Actions for testing
2 parents 08728e5 + 1d1de1e commit 22eae07

File tree

6 files changed

+271
-29
lines changed

6 files changed

+271
-29
lines changed

.github/workflows/test.yml

Lines changed: 240 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
name: Test SDKs
2+
on:
3+
workflow_dispatch:
4+
pull_request:
5+
push:
6+
branches: [master]
7+
jobs:
8+
_regenerate_:
9+
runs-on: ubuntu-22.04
10+
steps:
11+
- uses: actions/checkout@v4
12+
- uses: actions/setup-java@v4
13+
with:
14+
distribution: 'temurin'
15+
java-version: '17'
16+
- name: Regenerate SDKs
17+
run: pwsh build.ps1
18+
- run: git diff
19+
- name: Fail if there are differences
20+
run: git diff | diff - /dev/null &> /dev/null
21+
angular:
22+
runs-on: ubuntu-22.04
23+
steps:
24+
- uses: actions/checkout@v4
25+
- name: Check angular
26+
working-directory: ./angular
27+
run: |
28+
npm i
29+
npm run build
30+
javascript:
31+
runs-on: ubuntu-22.04
32+
steps:
33+
- uses: actions/checkout@v4
34+
- name: Check javascript
35+
working-directory: ./javascript
36+
run: |
37+
npm i
38+
npm run build
39+
npm run test
40+
typescript:
41+
runs-on: ubuntu-22.04
42+
steps:
43+
- uses: actions/checkout@v4
44+
- name: Check typescript
45+
working-directory: ./typescript
46+
run: |
47+
npm i
48+
npm run build
49+
java:
50+
runs-on: ubuntu-22.04
51+
steps:
52+
- uses: actions/checkout@v4
53+
- uses: actions/setup-java@v4
54+
with:
55+
distribution: 'temurin'
56+
java-version: '17'
57+
- name: Check java
58+
working-directory: ./java
59+
run: sh ./gradlew --no-daemon check
60+
android:
61+
runs-on: ubuntu-22.04
62+
steps:
63+
- uses: actions/checkout@v4
64+
- uses: actions/setup-java@v4
65+
with:
66+
distribution: 'temurin'
67+
java-version: '17'
68+
- uses: android-actions/setup-android@v3
69+
with:
70+
log-accepted-android-sdk-licenses: false
71+
- name: Check android
72+
working-directory: ./android
73+
run: sh ./gradlew --no-daemon check
74+
kotlin:
75+
runs-on: ubuntu-22.04
76+
steps:
77+
- uses: actions/checkout@v4
78+
- uses: actions/setup-java@v4
79+
with:
80+
distribution: 'temurin'
81+
java-version: '17'
82+
- name: Check kotlin
83+
working-directory: ./kotlin
84+
run: sh ./gradlew --no-daemon check
85+
scala:
86+
runs-on: ubuntu-22.04
87+
steps:
88+
- uses: actions/checkout@v4
89+
- uses: actions/setup-java@v4
90+
with:
91+
distribution: 'temurin'
92+
java-version: '17'
93+
- name: Check scala
94+
working-directory: ./scala
95+
run: bash sbt test
96+
clojure:
97+
runs-on: ubuntu-22.04
98+
steps:
99+
- uses: actions/checkout@v4
100+
- uses: actions/setup-java@v4
101+
with:
102+
distribution: 'temurin'
103+
java-version: '17'
104+
- name: Check clojure
105+
working-directory: ./clojure
106+
run: |
107+
curl -LO https://raw.githubusercontent.com/technomancy/leiningen/2.11.2/bin/lein > ~/lein
108+
sh ~/lein test
109+
sh ~/lein uberjar
110+
groovy:
111+
runs-on: ubuntu-22.04
112+
steps:
113+
- uses: actions/checkout@v4
114+
- uses: actions/setup-java@v4
115+
with:
116+
distribution: 'temurin'
117+
java-version: '17'
118+
- name: Check groovy
119+
working-directory: ./groovy
120+
run: |
121+
curl -LO https://services.gradle.org/distributions/gradle-8.8-bin.zip
122+
mkdir /tmp/gradle && unzip gradle-8.8-bin.zip -d /tmp/
123+
sh /tmp/gradle-8.8/bin/gradle wrapper
124+
sh ./gradlew --no-daemon check
125+
csharp:
126+
runs-on: ubuntu-22.04
127+
steps:
128+
- uses: actions/checkout@v4
129+
- uses: actions/setup-dotnet@v4
130+
with:
131+
dotnet-version: '8.0.x'
132+
- name: Check csharp
133+
working-directory: ./csharp
134+
run: dotnet test
135+
go:
136+
runs-on: ubuntu-22.04
137+
steps:
138+
- uses: actions/checkout@v4
139+
- uses: actions/setup-go@v5
140+
with:
141+
go-version: '>=1.20.0'
142+
- name: Check go
143+
working-directory: ./go
144+
run: go test
145+
rust:
146+
runs-on: ubuntu-22.04
147+
steps:
148+
- uses: actions/checkout@v4
149+
- uses: dtolnay/rust-toolchain@stable
150+
- name: Check rust
151+
working-directory: ./rust
152+
run: cargo test
153+
elixir:
154+
runs-on: ubuntu-22.04
155+
steps:
156+
- uses: actions/checkout@v4
157+
- uses: erlef/setup-beam@v1
158+
with:
159+
otp-version: '25'
160+
elixir-version: '1.17.0'
161+
- name: Check elixir
162+
working-directory: ./elixir
163+
run: |
164+
mix deps.get
165+
mix test
166+
erlang:
167+
runs-on: ubuntu-22.04
168+
steps:
169+
- uses: actions/checkout@v4
170+
- uses: erlef/setup-beam@v1
171+
with:
172+
otp-version: '25'
173+
rebar3-version: '3.16.1'
174+
- name: Check erlang
175+
working-directory: ./erlang
176+
run: |
177+
rebar3 deps
178+
rebar3 compile
179+
ruby:
180+
runs-on: ubuntu-22.04
181+
steps:
182+
- uses: actions/checkout@v4
183+
- uses: ruby/setup-ruby@v1
184+
with:
185+
ruby-version: '3.3'
186+
- name: Check ruby
187+
working-directory: ./ruby
188+
run: |
189+
bundle install
190+
bundle exec rake spec
191+
python:
192+
runs-on: ubuntu-22.04
193+
steps:
194+
- uses: actions/checkout@v4
195+
- uses: actions/setup-python@v5
196+
with:
197+
python-version: '3.10'
198+
- name: Check python
199+
working-directory: ./python
200+
run: |
201+
pip install . pytest
202+
pytest
203+
perl:
204+
runs-on: ubuntu-22.04
205+
steps:
206+
- uses: actions/checkout@v4
207+
- uses: shogo82148/actions-setup-perl@v1
208+
with:
209+
perl-version: "5.38"
210+
- name: Check perl
211+
working-directory: ./perl
212+
run: |
213+
cpanm --local-lib=/tmp/perl5 local::lib
214+
eval $(perl -I /tmp/perl5/lib/perl5/ -Mlocal::lib) && \
215+
cpanm --no-interactive --installdeps --force . && \
216+
prove -j4 -lv t
217+
php:
218+
runs-on: ubuntu-22.04
219+
steps:
220+
- uses: actions/checkout@v4
221+
- uses: shivammathur/setup-php@v2
222+
with:
223+
php-version: '8.3'
224+
tools: composer:v2
225+
- name: Check php
226+
working-directory: ./php
227+
run: |
228+
composer install
229+
./vendor/bin/phpunit test
230+
lua:
231+
runs-on: ubuntu-22.04
232+
steps:
233+
- uses: actions/checkout@v4
234+
- uses: jkl1337/gh-actions-lua@v11
235+
- uses: jkl1337/gh-actions-luarocks@v5
236+
- name: Check lua
237+
working-directory: ./lua
238+
run: |
239+
luarocks install ./*.rockspec --check-lua-versions
240+
luarocks test

0 commit comments

Comments
 (0)