name: CI on: schedule: # once per day - cron: 0 0 * * * push: branches: - dev - master pull_request: permissions: contents: read jobs: build-and-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: set up JDK 11 uses: actions/setup-java@v3 with: java-version: '11' distribution: 'temurin' - name: Cache Gradle dependencies uses: actions/cache@v3 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} restore-keys: ${{ runner.os }}-gradle # See gradle file for difference between downloaders - name: Build and run Tests run: | if [[ "$GITHUB_EVENT_NAME" == 'schedule' ]]; then echo running with real downloader ./gradlew check --stacktrace -Ddownloader=REAL else echo running with mock downloader ./gradlew check --stacktrace -Ddownloader=MOCK fi - name: Upload test reports when failure occurs uses: actions/upload-artifact@v3 if: failure() with: name: NewPipeExtractor-test-reports path: extractor/build/reports/tests/test/**