summaryrefslogtreecommitdiff
path: root/.github/workflows/test.yml
blob: 054b52a133141852bfdb3dd97bd06315af2b838c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
name: Test & check build

on: [ push, pull_request ]

jobs:
  test-go:
    name: Test Go
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-go@v2
        with:
          go-version: ^1.15
      - run: make test-go

  build-lib:
    name: Build shared Go library
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-go@v2
        with:
          go-version: ^1.15
      - run: make
      - uses: actions/upload-artifact@v2
        with:
          name: shared-lib
          path: exports/lib/

  test-csharp:
    name: Test C# wrapper
    needs: build-lib
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-dotnet@v1
        with:
          dotnet-version: 5.0.x

      - uses: actions/download-artifact@v2
        with:
          name: shared-lib
          path: exports/lib/
      - name: Test
        run: make -C wrappers/csharp
      - name: Build .nupkg
        run: make -C wrappers/csharp pack

  test-java-android:
    name: Test Android (Java) wrapper
    needs: build-lib
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-java@v2
        with:
          distribution: temurin
          java-version: 11
      - uses: android-actions/setup-android@v2

      - uses: actions/download-artifact@v2
        with:
          name: shared-lib
          path: exports/lib/
      - name: Test
        run: make -C wrappers/java-android test NO_DAEMON=1 NO_EMULATOR=1
      - name: Build .aar
        run: make -C wrappers/java-android pack NO_DAEMON=1 NO_EMULATOR=1

  test-php:
    name: Test PHP wrapper
    needs: build-lib
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      # Note: PHP is already included: https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md

      - uses: actions/download-artifact@v2
        with:
          name: shared-lib
          path: exports/lib/
      - name: Test
        run: make -C wrappers/php test

  test-python:
    name: Test Python wrapper
    needs: build-lib
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      # Note: Python 3 is already included

      - uses: actions/download-artifact@v2
        with:
          name: shared-lib
          path: exports/lib/
      - name: Test
        run: make -C wrappers/python test
      - name: Build .whl
        run: make -C wrappers/python pack

  test-swift:
    name: Test Swift wrapper
    needs: build-lib
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      # Note: Swift is already included

      - uses: actions/download-artifact@v2
        with:
          name: shared-lib
          path: exports/lib/
      - name: test
        run: make -C wrappers/swift