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.5-release, 1.0.6-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