-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #365 from adobe/staging
- Loading branch information
Showing
1,036 changed files
with
83,407 additions
and
91,746 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,58 +1,173 @@ | ||
# Use the latest 2.1 version of CircleCI pipeline process engine. | ||
# See: https://circleci.com/docs/2.0/configuration-reference | ||
# For a detailed guide to building and testing on Android, read the docs: | ||
# https://circleci.com/docs/2.0/language-android/ for more details. | ||
version: 2.1 | ||
|
||
# Orbs are reusable packages of CircleCI configuration that you may share across projects, enabling you to create encapsulated, parameterized commands, jobs, and executors that can be used across multiple projects. | ||
# See: https://circleci.com/docs/2.0/orb-intro/ | ||
orbs: | ||
android: circleci/[email protected] | ||
|
||
# Define a job to be invoked later in a workflow. | ||
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs | ||
jobs: | ||
# Below is the definition of your job to build and test your app, you can rename and customize it as you want. | ||
build-and-test: | ||
# These next lines define the Android machine image executor. | ||
# See: https://circleci.com/docs/2.0/executor-types/ | ||
build-and-unit-test: | ||
executor: | ||
name: android/android-machine | ||
resource-class: large | ||
tag: 2022.01.1 | ||
|
||
# Add steps to the job | ||
# See: https://circleci.com/docs/2.0/configuration-reference/#steps | ||
steps: | ||
# Checkout the code as the first step. | ||
- checkout | ||
- run: | ||
name: assemble-phone-release | ||
name: Check format | ||
command: make checkformat | ||
|
||
- run: | ||
name: Check style | ||
command: make checkstyle | ||
|
||
- run: | ||
name: Assemble phone release | ||
command: make assemble-phone-release | ||
|
||
- run: | ||
name: Verify Core APIs | ||
command: make api-check | ||
|
||
- run: | ||
name: JavaDoc | ||
command: make javadoc | ||
|
||
- run: | ||
name: unit-test | ||
command: make unit-test | ||
- store_artifacts: | ||
path: code/android-core-library/build/reports/tests/testPhoneDebugUnitTest | ||
|
||
- android/start-emulator-and-run-tests: | ||
# It should match the name seen in the "sdkmanager --list" output | ||
system-image: system-images;android-29;default;x86 | ||
# The command to be run, while waiting for emulator startup | ||
post-emulator-launch-assemble-command: make assemble-phone | ||
# The test command | ||
test-command: make functional-test | ||
- store_artifacts: | ||
path: code/android-core-library/build/reports/androidTests/connected/flavors/PHONE | ||
|
||
name: Install jitpack (core) to maven local | ||
command: make core-publish-maven-local-jitpack | ||
|
||
- run: | ||
name: Install jitpack (signal) to maven local | ||
command: make signal-publish-maven-local-jitpack | ||
|
||
- run: | ||
name: Install jitpack (lifecycle) to maven local | ||
command: make lifecycle-publish-maven-local-jitpack | ||
|
||
- run: | ||
name: Install jitpack (identity) to maven local | ||
command: make identity-publish-maven-local-jitpack | ||
|
||
- run: | ||
name: Download Codecov Uploader | ||
command: | | ||
curl -s https://codecov.io/bash > codecov; | ||
VERSION=$(grep 'VERSION=\"[0-9\.]*\"' codecov | cut -d'"' -f2); | ||
for i in 1 256 512 | ||
do | ||
shasum -a $i -c --ignore-missing <(curl -s "https://raw.githubusercontent.com/codecov/codecov-bash/${VERSION}/SHA${i}SUM") || | ||
shasum -a $i -c <(curl -s "https://raw.githubusercontent.com/codecov/codecov-bash/${VERSION}/SHA${i}SUM" | grep -w "codecov") | ||
done | ||
- run: | ||
name: Run Core unit tests | ||
command: make core-unit-test-coverage | ||
|
||
- store_test_results: | ||
path: code/core/build/test-results/testPhoneDebugUnitTest | ||
|
||
- run: | ||
name: Upload Core unit test coverage | ||
command: | | ||
bash ./codecov -v -X s3 -c -D "./code/core/build/reports/coverage/test/phone/debug" -F unit-tests | ||
- run: | ||
name: Run Signal unit tests | ||
command: make signal-unit-test-coverage | ||
|
||
- store_test_results: | ||
path: code/signal/build/test-results/testPhoneDebugUnitTest | ||
|
||
- run: | ||
name: Upload Signal coverage report | ||
command: | | ||
bash ./codecov -v -X s3 -c -D "./code/signal/build/reports/coverage/test/phone/debug" -F unit-tests | ||
- run: | ||
name: Run Lifecycle unit tests | ||
command: make lifecycle-unit-test-coverage | ||
|
||
- store_test_results: | ||
path: code/lifecycle/build/test-results/testPhoneDebugUnitTest | ||
|
||
- run: | ||
name: Upload Lifecycle coverage report | ||
command: | | ||
bash ./codecov -v -X s3 -c -D "./code/lifecycle/build/reports/coverage/test/phone/debug" -F unit-tests | ||
- run: | ||
name: Run Identity unit tests | ||
command: make identity-unit-test-coverage | ||
|
||
- store_test_results: | ||
path: code/identity/build/test-results/testPhoneDebugUnitTest | ||
|
||
- run: | ||
name: Upload Identity coverage report | ||
command: | | ||
bash ./codecov -v -X s3 -c -D "./code/identity/build/reports/coverage/test/phone/debug" -F unit-tests | ||
functional-test: | ||
executor: | ||
name: android/android-machine | ||
resource-class: large | ||
tag: 2022.01.1 | ||
|
||
steps: | ||
- checkout | ||
|
||
- android/start-emulator-and-run-tests: | ||
system-image: system-images;android-29;default;x86 | ||
post-emulator-launch-assemble-command: make assemble-phone | ||
test-command: make functional-test-coverage | ||
|
||
- run: | ||
name: Download Codecov Uploader | ||
command: | | ||
curl -s https://codecov.io/bash > codecov; | ||
VERSION=$(grep 'VERSION=\"[0-9\.]*\"' codecov | cut -d'"' -f2); | ||
for i in 1 256 512 | ||
do | ||
shasum -a $i -c --ignore-missing <(curl -s "https://raw.githubusercontent.com/codecov/codecov-bash/${VERSION}/SHA${i}SUM") || | ||
shasum -a $i -c <(curl -s "https://raw.githubusercontent.com/codecov/codecov-bash/${VERSION}/SHA${i}SUM" | grep -w "codecov") | ||
done | ||
- run: | ||
name: Upload Core coverage report | ||
command: | | ||
bash ./codecov -v -X s3 -c -D "./code/core/build/reports/coverage/androidTest/phone/debug" -F functional-tests | ||
- run: | ||
name: Upload Signal coverage report | ||
command: | | ||
bash ./codecov -v -X s3 -c -D "./code/signal/build/reports/coverage/androidTest/phone/debug" -F functional-tests | ||
- run: | ||
name: Upload Lifecycle coverage report | ||
command: | | ||
bash ./codecov -v -X s3 -c -D "./code/lifecycle/build/reports/coverage/androidTest/phone/debug" -F functional-tests | ||
integration-test: | ||
executor: | ||
name: android/android-machine | ||
resource-class: large | ||
tag: 2022.01.1 | ||
|
||
steps: | ||
- checkout | ||
|
||
- android/start-emulator-and-run-tests: | ||
system-image: system-images;android-29;default;x86 | ||
post-emulator-launch-assemble-command: make assemble-phone | ||
test-command: make integration-test | ||
|
||
- store_test_results: | ||
path: code/integration-tests/build/outputs/androidTest-results/connected | ||
|
||
# Invoke jobs via workflows | ||
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows | ||
workflows: | ||
aepsdk-core-ci: # This is the name of the workflow, feel free to change it to better match your workflow. | ||
# Inside the workflow, you define the jobs you want to run. | ||
version: 2 | ||
aepsdk-core-ci: | ||
jobs: | ||
- build-and-test | ||
- build-and-unit-test | ||
- functional-test | ||
- integration-test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
name: Publish Package to the Maven Central Repository | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
release_core: | ||
required: false | ||
type: boolean | ||
default: false | ||
description: Release Core | ||
|
||
release_identity: | ||
required: false | ||
type: boolean | ||
default: false | ||
description: Release Identity | ||
|
||
release_lifecycle: | ||
required: false | ||
type: boolean | ||
default: false | ||
description: Release Lifecycle | ||
|
||
release_signal: | ||
required: false | ||
type: boolean | ||
default: false | ||
description: Release Signal | ||
|
||
jobs: | ||
publish: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up Java | ||
uses: actions/setup-java@v1 | ||
with: | ||
java-version: 11 | ||
|
||
- name: Cache Gradle packages | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.gradle/caches | ||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} | ||
restore-keys: ${{ runner.os }}-gradle | ||
|
||
- name: Import GPG key | ||
env: | ||
GPG_SECRET_KEYS: ${{ secrets.GPG_SECRET_KEYS }} | ||
GPG_OWNERTRUST: ${{ secrets.GPG_OWNERTRUST }} | ||
run: | | ||
echo $GPG_SECRET_KEYS | base64 --decode | gpg --import --no-tty --batch --yes | ||
echo $GPG_OWNERTRUST | base64 --decode | gpg --import-ownertrust --no-tty --batch --yes | ||
- name: Publish Core to maven central repository | ||
if: ${{ inputs.release_core }} | ||
run: make core-publish-main | ||
env: | ||
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | ||
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | ||
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | ||
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }} | ||
|
||
- name: Publish Identity to maven central repository | ||
if: ${{ inputs.release_identity }} | ||
run: make identity-publish-main | ||
env: | ||
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | ||
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | ||
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | ||
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }} | ||
|
||
- name: Publish Lifecycle to maven central repository | ||
if: ${{ inputs.release_lifecycle }} | ||
run: make lifecycle-publish-main | ||
env: | ||
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | ||
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | ||
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | ||
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }} | ||
|
||
- name: Publish Signal to maven central repository | ||
if: ${{ inputs.release_signal }} | ||
run: make signal-publish-main | ||
env: | ||
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | ||
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | ||
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | ||
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
name: Publish Package to the Maven Central Staging Repository | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
release_core: | ||
required: false | ||
type: boolean | ||
default: false | ||
description: Release Core | ||
|
||
release_identity: | ||
required: false | ||
type: boolean | ||
default: false | ||
description: Release Identity | ||
|
||
release_lifecycle: | ||
required: false | ||
type: boolean | ||
default: false | ||
description: Release Lifecycle | ||
|
||
release_signal: | ||
required: false | ||
type: boolean | ||
default: false | ||
description: Release Signal | ||
|
||
jobs: | ||
publish: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up Java | ||
uses: actions/setup-java@v1 | ||
with: | ||
java-version: 11 | ||
|
||
- name: Cache Gradle packages | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.gradle/caches | ||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} | ||
restore-keys: ${{ runner.os }}-gradle | ||
|
||
- name: Import GPG key | ||
env: | ||
GPG_SECRET_KEYS: ${{ secrets.GPG_SECRET_KEYS }} | ||
GPG_OWNERTRUST: ${{ secrets.GPG_OWNERTRUST }} | ||
run: | | ||
echo $GPG_SECRET_KEYS | base64 --decode | gpg --import --no-tty --batch --yes | ||
echo $GPG_OWNERTRUST | base64 --decode | gpg --import-ownertrust --no-tty --batch --yes | ||
- name: Publish Core to maven central staging repository | ||
if: ${{ inputs.release_core }} | ||
run: make core-publish-staging | ||
env: | ||
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | ||
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | ||
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | ||
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }} | ||
|
||
- name: Publish Identity to maven central staging repository | ||
if: ${{ inputs.release_identity }} | ||
run: make identity-publish-staging | ||
env: | ||
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | ||
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | ||
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | ||
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }} | ||
|
||
- name: Publish Lifecycle to maven central staging repository | ||
if: ${{ inputs.release_lifecycle }} | ||
run: make lifecycle-publish-staging | ||
env: | ||
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | ||
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | ||
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | ||
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }} | ||
|
||
- name: Publish Signal to maven central staging repository | ||
if: ${{ inputs.release_signal }} | ||
run: make signal-publish-staging | ||
env: | ||
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | ||
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | ||
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | ||
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }} |
Oops, something went wrong.