Skip to content

Commit c886772

Browse files
feat: add github workflow
1 parent decec71 commit c886772

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed

.github/workflows/ci_run_tests.yml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# This workflow will checks that the goldenmaster passes all tests
2+
3+
name: Test Goldenmaster
4+
5+
on:
6+
pull_request:
7+
branches: [main]
8+
9+
env:
10+
GITHUB_AUTH_TOKEN: ${{ secrets.WOLFGANG_REPO_PACKAGE_READ }}
11+
GOPRIVATE: "github.com/apigear-io/*"
12+
GH_ACCESS_TOKEN: ${{ secrets.APIGEAR_REPOS }}
13+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
14+
go_version: "1.21.x"
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
env:
20+
JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64
21+
22+
steps:
23+
- name: Checkout code
24+
uses: actions/checkout@v4
25+
with:
26+
submodules: recursive
27+
28+
# Set up JDK 17
29+
- name: Set up JDK 17
30+
uses: actions/setup-java@v3
31+
with:
32+
java-version: 17
33+
distribution: temurin
34+
35+
# set up go
36+
- uses: actions/setup-go@v5
37+
with:
38+
go-version: ${{env.go_version}}
39+
40+
# Set up Android SDK (needed for AGP and compileSdk)
41+
- name: Set up Android SDK
42+
uses: android-actions/setup-android@v2
43+
with:
44+
api-level: 34
45+
build-tools: 34.0.0
46+
ndk: 25.2.9519653
47+
components: platform-tools,cmdline-tools
48+
49+
# Set up Gradle
50+
- name: Set up Gradle
51+
uses: gradle/gradle-build-action@v3
52+
with:
53+
gradle-version: '8.10' # Quotes required to prevent YAML converting to number
54+
use-wrapper: false
55+
# remove auto generated gradle files before the gradle version is set
56+
- name: Clean any generated wrappers
57+
run: |
58+
find goldenmaster -type d -name wrapper -exec rm -rf {} +
59+
echo "Removed any gradle/wrapper folders in submodules"
60+
61+
# Build all modules
62+
- name: Build all modules
63+
working-directory: goldenmaster
64+
run: gradle runAll --stacktrace
65+
66+
# Run all unit tests (JVM tests for Android modules)
67+
- name: Run all tests
68+
working-directory: goldenmaster
69+
run: gradle runJavaUnitTests --stacktrace
70+
71+
# Upload JUnit / Robolectric test reports as artifacts
72+
- name: Upload test results
73+
if: always()
74+
uses: actions/upload-artifact@v4
75+
with:
76+
name: test-results
77+
path: 'goldenmaster/**/build/test-results/test'

0 commit comments

Comments
 (0)