# Workflow to cherry-pick changes from main to release branch. name: auto-merge on: push: branches: [ main ] jobs: build-and-test: strategy: fail-fast: false matrix: os: [ ubuntu-latest, macos-latest ] # The type of runner that the job will run on runs-on: ${{ matrix.os }} steps: # Checkout - uses: actions/checkout@v2 with: fetch-depth: 0 ref: 1.0.9-release - name: merge commits from main to release branch run: | # Cherry pick new changes from main, except for version bumps. # A commit is a version bump IFF it touches third_party/prebuilt/repo DONT_PICK=$(cat <=0;) print a[j--] }') echo Picking $TO_PICK if [ -n "$TO_PICK" ]; then git cherry-pick -x $TO_PICK; fi - 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 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 # 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') }} # Check API compatibility - name: API compatibility check run: ./gradlew :api:checkApi # Run ksp generated tests - name: test run: ./gradlew --stacktrace --info test - name: Upload test results if: always() uses: actions/upload-artifact@v3 with: name: test-reports path: | compiler-plugin/build/reports integration-tests/build/reports gradle-plugin/build/reports common-util/build/reports pick-and-push: needs: build-and-test runs-on: ubuntu-latest steps: # Checkout - uses: actions/checkout@v2 with: fetch-depth: 0 ref: 1.0.9-release - name: merge commits from main to release branch run: | # Cherry pick new changes from main, except for version bumps. # A commit is a version bump IFF it touches third_party/prebuilt/repo DONT_PICK=$(cat <