Drop Travis and move to GitHub actions (#694)
	
		
	
				
					
				
			
							parent
							
								
									129b43e657
								
							
						
					
					
						commit
						79d00d5eba
					
				| @ -0,0 +1,92 @@ | ||||
| # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions | ||||
| name: Build | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - master | ||||
|   pull_request: | ||||
| env: | ||||
|   TRAVIS: true | ||||
| jobs: | ||||
|   ANDROID_BASE_CHECKS: | ||||
|     name: Base Checks | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - uses: actions/checkout@v1 | ||||
|       - uses: actions/setup-java@v1 | ||||
|         with: | ||||
|           java-version: 1.8 | ||||
|       - name: Perform base checks | ||||
|         run: ./gradlew demo:assembleDebug cameraview:javadoc | ||||
|   ANDROID_UNIT_TESTS: | ||||
|     name: Unit Tests | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - uses: actions/checkout@v1 | ||||
|       - uses: actions/setup-java@v1 | ||||
|         with: | ||||
|           java-version: 1.8 | ||||
|       - name: Execute unit tests | ||||
|         run: ./gradlew cameraview:testDebugUnitTest | ||||
|       - name: Upload unit tests artifact | ||||
|         uses: actions/upload-artifact@v1 | ||||
|         with: | ||||
|           name: unit_tests | ||||
|           path: ./cameraview/build/jacoco/ | ||||
|   ANDROID_EMULATOR_TESTS: | ||||
|     name: Emulator Tests | ||||
|     runs-on: macOS-latest | ||||
|     strategy: | ||||
|       matrix: | ||||
|         EMULATOR_API: [22] | ||||
|         EMULATOR_ARCH: [x86_64] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v1 | ||||
|       - uses: actions/setup-java@v1 | ||||
|         with: | ||||
|           java-version: 1.8 | ||||
|       - name: Execute emulator tests | ||||
|         uses: reactivecircus/android-emulator-runner@v1 | ||||
|         with: | ||||
|           api-level: ${{ matrix.EMULATOR_API }} | ||||
|           arch: ${{ matrix.EMULATOR_ARCH }} | ||||
|           disable-animations: true | ||||
|           headless: true | ||||
|           script: ./gradlew cameraview:connectedCheck | ||||
|       - name: Upload emulator tests artifact | ||||
|         uses: actions/upload-artifact@v1 | ||||
|         with: | ||||
|           name: emulator_tests | ||||
|           path: ./cameraview/build/outputs/code_coverage/debugAndroidTest/connected | ||||
|   CODE_COVERAGE: | ||||
|     name: Code Coverage Report | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [ANDROID_UNIT_TESTS, ANDROID_EMULATOR_TESTS] | ||||
|     steps: | ||||
|       - uses: actions/checkout@v1 | ||||
|       - uses: actions/setup-java@v1 | ||||
|         with: | ||||
|           java-version: 1.8 | ||||
|       - name: Download unit tests artifact | ||||
|         uses: actions/download-artifact@v1 | ||||
|         with: | ||||
|             name: unit_tests | ||||
|             path: ./cameraview/build/jacoco/ | ||||
|       - name: Download emulator tests artifact | ||||
|         uses: actions/download-artifact@v1 | ||||
|         with: | ||||
|             name: emulator_tests | ||||
|             path: ./cameraview/build/outputs/code_coverage/debugAndroidTest/connected | ||||
|       - name: Create merged coverage report | ||||
|         run: ./gradlew cameraview:mergeCoverageReports | ||||
|       - name: Upload merged coverage report (GitHub) | ||||
|         uses: actions/upload-artifact@v1 | ||||
|         with: | ||||
|           name: report | ||||
|           path: ./cameraview/build/reports/mergedCoverageReport | ||||
|       - name: Upload merged coverage report (Codecov) | ||||
|         uses: codecov/codecov-action@v1 | ||||
|         with: | ||||
|           token: ${{ secrets.CODECOV_KEY }} | ||||
|           file: ./cameraview/build/reports/mergedCoverageReport/* | ||||
|           fail_ci_if_error: true | ||||
| @ -0,0 +1,18 @@ | ||||
| # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions | ||||
| name: Deploy | ||||
| on: [release] | ||||
| jobs: | ||||
|   BINTRAY_UPLOAD: | ||||
|     name: Bintray Upload | ||||
|     runs-on: ubuntu-latest | ||||
|     env: | ||||
|       TRAVIS: true | ||||
|       BINTRAY_USER: ${{ secrets.BINTRAY_USER }} | ||||
|       BINTRAY_KEY: ${{ secrets.BINTRAY_KEY }} | ||||
|     steps: | ||||
|       - uses: actions/checkout@v1 | ||||
|       - uses: actions/setup-java@v1 | ||||
|         with: | ||||
|           java-version: 1.8 | ||||
|       - name: Perform bintray upload | ||||
|         run: ./gradlew bintrayUpload | ||||
| @ -1,90 +0,0 @@ | ||||
| # https://github.com/andstatus/andstatus/blob/master/.travis.yml | ||||
| 
 | ||||
| language: android | ||||
| 
 | ||||
| branches: | ||||
|   only: | ||||
|     - master | ||||
|     - /^v\d+\.\d+\.\d+$/ | ||||
|     - /^v\d+\.\d+\.\d+-beta\d+$/ | ||||
|     - /^v\d+\.\d+\.\d+-rc\d+$/ | ||||
| 
 | ||||
| sudo: false | ||||
| 
 | ||||
| jdk: | ||||
|   - oraclejdk8 | ||||
| 
 | ||||
| env: | ||||
|   global: | ||||
|     - EMULATOR_API=22 # 24 has some issues, probably some overlayed window | ||||
|     - EMULATOR_ABI=x86_64 # seems to work with emulator v29. | ||||
|     - EMULATOR_TAG=default # can be google_apis | ||||
|     - PATH=$ANDROID_HOME:$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools:$PATH | ||||
| 
 | ||||
| android: | ||||
|   components: | ||||
|     - tools | ||||
|     - platform-tools | ||||
|     - build-tools-28.0.3 | ||||
|     - android-28 | ||||
|     - doc-28 | ||||
| 
 | ||||
| install: | ||||
|   # Setup | ||||
|   - echo $ANDROID_HOME # We assume this is correctly set when setting path | ||||
|   - sdkmanager --list || true # Look at the packages | ||||
|   - echo yes | sdkmanager "tools" # Ensure tools is updated | ||||
|   - echo yes | sdkmanager "emulator" # Ensure emulator is present | ||||
| 
 | ||||
|   # Install emulator | ||||
|   # The channel=4 line looks into canary which brings in v29. | ||||
|   # The previous version v28 was broken: | ||||
|   # https://travis-ci.community/t/android-emulators-not-starting-for-the-last-few-days-late-march-2019/2871/11?u=mikehardy | ||||
|   - export EMULATOR="system-images;android-$EMULATOR_API;$EMULATOR_TAG;$EMULATOR_ABI" | ||||
|   - echo yes | sdkmanager "platforms;android-$EMULATOR_API" # Install sdk for the emulator | ||||
|   - echo yes | sdkmanager --channel=4 "$EMULATOR" # Install system image | ||||
|   - sdkmanager --list || true # Check everything is updated | ||||
| 
 | ||||
|   # Create adn start emulator | ||||
|   - echo no | avdmanager create avd -n test -k "$EMULATOR" -f # Create emulator virtual device | ||||
|   - which emulator # ensure we are using the right emulator ($ANDROID_HOME/emulator/emulator) | ||||
|   - emulator -avd test -no-window -no-accel -no-snapshot -camera-back emulated -camera-front emulated -memory 2048 -writable-system & # Launch | ||||
|   - adb wait-for-device # Wait for adb process | ||||
|   - adb remount # Mount as writable | ||||
| 
 | ||||
| before_script: | ||||
|   # Wait for emulator | ||||
|   - android-wait-for-emulator # Wait for emulator ready to interact | ||||
|   - adb shell settings put global window_animation_scale 0 & # Disable animations | ||||
|   - adb shell settings put global transition_animation_scale 0 & # Disable animations | ||||
|   - adb shell settings put global animator_duration_scale 0 & # Disable animations | ||||
| 
 | ||||
|   # Unlock and configure logs. | ||||
|   # Would be great to use -v color to adb logcat but looks not supported on travis. | ||||
|   - sleep 20 # Sleep 20 seconds just in case | ||||
|   - adb shell input keyevent 82 & # Dispatch unlock event | ||||
|   - adb logcat --help # See if this version supports color | ||||
|   - adb logcat -c # Clear logcat | ||||
|   - adb logcat Test:V TestRunner:V CameraView:V CameraController:V Camera1:V WorkerHandler:V THREAD_STATE:S *:E & | ||||
|   # - export LOGCAT_PID=$! # Save PID of the logcat process. Should kill later with kill $LOGCAT_PID | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| script: | ||||
|   - ./gradlew clean demo:assembleDebug cameraview:testDebugUnitTest cameraview:connectedCheck cameraview:mergedCoverageReport cameraview:javadoc | ||||
| 
 | ||||
| after_success: | ||||
|   - bash <(curl -s https://codecov.io/bash) -s "*/build/reports/mergedCoverageReport/" | ||||
| 
 | ||||
| cache: | ||||
|   directories: | ||||
|     - $HOME/.gradle | ||||
|     - $HOME/.m2/repository | ||||
| 
 | ||||
| deploy: | ||||
|   provider: script | ||||
|   script: ./gradlew bintrayUpload | ||||
|   skip_cleanup: true | ||||
|   on: | ||||
|     branch: master | ||||
|     tags: true | ||||
					Loading…
					
					
				
		Reference in new issue