-
Notifications
You must be signed in to change notification settings - Fork 38
chore: removed travis yml and added git action support #411
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
8200249
26e4451
6421ad8
9854656
0f4fcb6
9018e4d
998f4a9
4be37b9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,180 @@ | ||
name: Android CI | ||
on: | ||
push: | ||
branches: [ master ] | ||
pull_request: | ||
branches: [ master ] | ||
workflow_dispatch: | ||
inputs: | ||
SNAPSHOT: | ||
type: boolean | ||
description: Set SNAPSHOT true to publish | ||
|
||
jobs: | ||
lint_markdown_files: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up Ruby | ||
uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: '2.6' | ||
bundler-cache: true # runs 'bundle install' and caches installed gems automatically | ||
- name: Install gem | ||
run: | | ||
gem install awesome_bot | ||
- name: Run tests | ||
run: find . -type f -name '*.md' -exec awesome_bot {} \; | ||
integration_tests: | ||
if: ${{ github.event.inputs.SNAPSHOT != 'true' }} | ||
runs-on: ubuntu-latest | ||
steps: | ||
8000 | - uses: actions/checkout@v2 | |
with: | ||
# You should create a personal access token and store it in your repository | ||
token: ${{ secrets.CI_USER_TOKEN }} | ||
repository: 'optimizely/travisci-tools' | ||
path: 'home/runner/travisci-tools' | ||
ref: 'master' | ||
|
||
- name: set SDK Branch if PR | ||
if: ${{ github.event_name == 'pull_request' }} | ||
run: | | ||
echo "SDK_BRANCH=${{ github.head_ref }}" >> $GITHUB_ENV | ||
echo "TRAVIS_BRANCH=${{ github.head_ref }}" >> $GITHUB_ENV | ||
- name: set SDK Branch if not pull request | ||
if: ${{ github.event_name != 'pull_request' }} | ||
run: | | ||
echo "SDK_BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV | ||
echo "TRAVIS_BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV | ||
- name: Trigger build | ||
env: | ||
SDK: android | ||
BUILD_NUMBER: ${{ github.run_id }} | ||
TESTAPP_BRANCH: master | ||
GITHUB_TOKEN: ${{ secrets.CI_USER_TOKEN }} | ||
TRAVIS_EVENT_TYPE: ${{ github.event_name }} | ||
GITHUB_CONTEXT: ${{ toJson(github) }} | ||
TRAVIS_REPO_SLUG: ${{ github.repository }} | ||
TRAVIS_PULL_REQUEST_SLUG: ${{ github.repository }} | ||
UPSTREAM_REPO: ${{ github.repository }} | ||
TRAVIS_COMMIT: ${{ github.sha }} | ||
TRAVIS_PULL_REQUEST_SHA: ${{ github.event.pull_request.head.sha }} | ||
TRAVIS_PULL_REQUEST: ${{ github.event.pull_request.number }} | ||
UPSTREAM_SHA: ${{ github.sha }} | ||
TRAVIS_COM_TOKEN: ${{ secrets.TRAVIS_COM_TOKEN }} | ||
EVENT_MESSAGE: ${{ github.event.message }} | ||
HOME: 'home/runner' | ||
run: | | ||
echo "$GITHUB_CONTEXT" | ||
home/runner/travisci-tools/trigger-script-with-status-update.sh | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: set up JDK 11 | ||
uses: actions/setup-java@v2 | ||
with: | ||
java-version: '11' | ||
distribution: 'temurin' | ||
cache: gradle | ||
- name: Grant execute permission for gradlew | ||
run: chmod +x gradlew | ||
- name: Clean all modules | ||
run: ./gradlew cleanAllModules | ||
- name: Build with Gradle | ||
run: ./gradlew build | ||
test: | ||
runs-on: macos-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
api-level: [21, 25, 26, 29] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I understand that github has an issue supporting AVD 31+. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes I think we can change android compile sdk version to 31 it should cause no problem. As we already tested that on PR #406 |
||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v2 | ||
|
||
- name: Java 11 | ||
uses: actions/setup-java@v1 | ||
with: | ||
java-version: 11 | ||
|
||
- name: Gradle cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.gradle/caches | ||
~/.gradle/wrapper | ||
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }} | ||
|
||
- name: AVD cache | ||
uses: actions/cache@v2 | ||
id: avd-cache | ||
with: | ||
path: | | ||
~/.android/avd/* | ||
~/.android/adb* | ||
~/.android/debug.keystore | ||
key: avd-${{ matrix.api-level }} | ||
|
||
- name: create AVD and generate snapshot for caching | ||
if: steps.avd-cache.outputs.cache-hit != 'true' | ||
uses: reactivecircus/android-emulator-runner@v2 | ||
with: | ||
api-level: ${{ matrix.api-level }} | ||
force-avd-creation: false | ||
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | ||
disable-animations: false | ||
script: echo "Generated AVD snapshot for caching." | ||
|
||
- name: run tests | ||
uses: reactivecircus/android-emulator-runner@v2 | ||
with: | ||
api-level: ${{ matrix.api-level }} | ||
force-avd-creation: false | ||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | ||
disable-animations: true | ||
script: ./gradlew testAllModulesTravis | ||
publish: | ||
if: startsWith(github.ref, 'refs/tags/v') | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set env | ||
run: echo "TRAVIS_TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | ||
- name: set up JDK 11 | ||
uses: actions/setup-java@v2 | ||
with: | ||
java-version: '11' | ||
distribution: 'temurin' | ||
cache: gradle | ||
- name: Grant execute permission for gradlew | ||
run: chmod +x gradlew | ||
- name: Ship | ||
env: | ||
MAVEN_SIGNING_KEY_BASE64: ${{ secrets.MAVEN_SIGNING_KEY_BASE64 }} | ||
MAVEN_SIGNING_PASSPHRASE: ${{ secrets.MAVEN_SIGNING_PASSPHRASE }} | ||
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} | ||
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} | ||
run: TRAVIS_TAG=${{ env.TRAVIS_TAG }} ./gradlew ship | ||
|
||
snapshot: | ||
if: ${{ github.event.inputs.SNAPSHOT == 'true' && github.event_name == 'workflow_dispatch' }} | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: set up JDK 11 | ||
uses: actions/setup-java@v2 | ||
with: | ||
java-version: '11' | ||
distribution: 'temurin' | ||
cache: gradle | ||
- name: Grant execute permission for gradlew | ||
run: chmod +x gradlew | ||
- name: Ship | ||
env: | ||
MAVEN_SIGNING_KEY_BASE64: ${{ secrets.MAVEN_SIGNING_KEY_BASE64 }} | ||
MAVEN_SIGNING_PASSPHRASE: ${{ secrets.MAVEN_SIGNING_PASSPHRASE }} | ||
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} | ||
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} | ||
run: TRAVIS_TAG=BB-SNAPSHOT ./gradlew ship |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
name: Source clear | ||
|
||
on: | ||
schedule: | ||
# Runs "weekly" | ||
- cron: '0 0 * * 0' | ||
|
||
jobs: | ||
source_clear: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Source clear scan | ||
env: | ||
SRCCLR_API_TOKEN: ${{ secrets.SRCCLR_API_TOKEN }} | ||
run: curl -sSL https://download.sourceclear.com/ci.sh | bash -s – scan |
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These steps are repeated for all tasks. Just wondering if we can factor out as a function to simplify this workflow file. github needs to improve it :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure we can refactor it and move to seperate yaml then use it as uses. As of right now I don't there is any way to reuse the steps by keeping it in same file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think with current implementation it is difficult to add reusable workflow so can we refactor it later if possible?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good to me!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mnoman09 Can you just change compile_sdk_version to 31 and then we can merge it.