aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/nightly.yml
blob: bb0e438cdd5f6ba908d5cbbd176aa7afd5592be4 (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
on:
  # runs on 4:30 AM PST or 5:30 AM PDT
  schedule:
    - cron:  '30 12 * * *'
jobs:
  build-and-test:
    strategy:
      fail-fast: false
      matrix:
        branch: [ main, 1.0.9-release, 1.0.10-release ]
    runs-on: windows-latest
    steps:
      - name: configure Pagefile
        uses: al-cheb/configure-pagefile-action@v1.2
        with:
          minimum-size: 8
          maximum-size: 16
          disk-root: "D:"
      - name: Setup Java 9
        uses: actions/setup-java@v1.4.3
        with:
          java-version: '9'
          java-package: jdk
          architecture: x64
      - name: set JDK_9 environment variable for kotlin compiler
        shell: bash
        env:
          ACTIONS_ALLOW_UNSECURE_COMMANDS: true
        run: echo ::set-env name=JDK_9::$(echo $JAVA_HOME)
      - name: Setup Java 11
        uses: actions/setup-java@v1.4.3
        with:
          java-version: '11'
          java-package: jdk
          architecture: x64

      # Checkout
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
          ref: ${{ matrix.branch }}

      # Build cache
      - name: Cache Gradle Cache
        uses: actions/cache@v2
        with:
          path: ~/.gradle/caches
          key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }}-${{ hashFiles('**/gradle.properties') }}
          # An ordered list of keys to use for restoring the cache if no cache hit occurred for key
          restore-keys: |
            ${{ runner.os }}-gradle-
      - name: Cache gradle wrapper
        uses: actions/cache@v2
        with:
          path: ~/.gradle/wrapper
          key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}

      # Run tests
      - name: test
        shell: bash
        run: ./gradlew --stacktrace --info test
      - name: Upload test results
        if: always()
        uses: actions/upload-artifact@v3
        with:
          name: test-reports-windows-latest
          path: |
            compiler-plugin/build/reports
            integration-tests/build/reports
            gradle-plugin/build/reports
            common-util/build/reports