From cade89d06ff96501aa3d31bfa893fd21c484d8ee Mon Sep 17 00:00:00 2001 From: dreamgyf Date: Sat, 5 Nov 2022 21:47:01 +0800 Subject: [PATCH] add cd --- .github/workflows/cd.yml | 144 +++++++++++++++++++++++++++++++++++++++ .github/workflows/ci.yml | 3 +- 2 files changed, 145 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/cd.yml diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml new file mode 100644 index 0000000..6b4eb09 --- /dev/null +++ b/.github/workflows/cd.yml @@ -0,0 +1,144 @@ +name: CD + +on: + release: + types: [ published ] + +jobs: + Test_For_FastInflate: + runs-on: ubuntu-latest + steps: + - name: Clone parent project AndroidLibraries + run: git clone https://github.com/dreamgyf/AndroidLibraries.git + + - name: Clone project FastInflate + uses: actions/checkout@v3 + with: + path: 'AndroidLibraries/FastInflate' + + - name: Fetch key file + uses: actions/checkout@v3 + with: + token: ${{ secrets.TOKEN_FOR_GITHUB }} + repository: 'dreamgyf/key' + path: 'key' + + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + cache: gradle + + - name: Prepare for Gradle + working-directory: 'AndroidLibraries/FastInflate' + env: + GRADLE_PROPERTIES: ${{ secrets.GRADLE_PROPERTIES }} + run: | + mkdir -p ~/.gradle/ + echo ${GRADLE_PROPERTIES} > ~/.gradle/gradle.properties + chmod +x gradlew + + - name: Publish FastInflatePlugin to local maven + working-directory: 'AndroidLibraries/FastInflate' + run: | + ./gradlew :FastInflatePlugin:assemble + ./gradlew :FastInflatePlugin:publishToMavenLocal + + - name: Publish FastInflate to local maven + working-directory: 'AndroidLibraries/FastInflate' + env: + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} + SIGNING_PATH: ${{ github.workspace }}/key/dreamgyf_6E5F7FAF_secret.gpg + run: | + ./gradlew :FastInflate:assemble + ./gradlew :FastInflate:publishToMavenLocal + + - name: Do Unit Test for :Sample:app + working-directory: 'AndroidLibraries/FastInflate/Sample' + run: | + chmod +x gradlew + ./gradlew :app:test + + - name: Unit Test Report + uses: asadmansr/android-test-report-action@v1.2.0 + if: ${{ always() }} + + Publish_FastInflatePlugin: + runs-on: ubuntu-latest + needs: Test_For_FastInflate + steps: + - name: Clone parent project AndroidLibraries + run: git clone https://github.com/dreamgyf/AndroidLibraries.git + + - name: Clone project FastInflate + uses: actions/checkout@v3 + with: + path: 'AndroidLibraries/FastInflate' + + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + cache: gradle + + - name: Prepare for Gradle + working-directory: 'AndroidLibraries/FastInflate' + env: + GRADLE_PROPERTIES: ${{ secrets.GRADLE_PROPERTIES }} + run: | + mkdir -p ~/.gradle/ + echo ${GRADLE_PROPERTIES} > ~/.gradle/gradle.properties + chmod +x gradlew + + - name: Publish FastInflatePlugin + working-directory: 'AndroidLibraries/FastInflate' + run: | + ./gradlew :FastInflatePlugin:assemble + ./gradlew :FastInflatePlugin:publishPlugins + + Publish_FastInflate: + runs-on: ubuntu-latest + needs: Test_For_FastInflate + steps: + - name: Clone parent project AndroidLibraries + run: git clone https://github.com/dreamgyf/AndroidLibraries.git + + - name: Clone project FastInflate + uses: actions/checkout@v3 + with: + path: 'AndroidLibraries/FastInflate' + + - name: Fetch key file + uses: actions/checkout@v3 + with: + token: ${{ secrets.TOKEN_FOR_GITHUB }} + repository: 'dreamgyf/key' + path: 'key' + + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + cache: gradle + + - name: Prepare for Gradle + working-directory: 'AndroidLibraries/FastInflate' + run: chmod +x gradlew + + - name: Publish FastInflate + working-directory: 'AndroidLibraries/FastInflate' + env: + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} + SIGNING_PATH: ${{ github.workspace }}/key/dreamgyf_6E5F7FAF_secret.gpg + run: | + ./gradlew :FastInflate:assemble + ./gradlew :FastInflate:publish \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1637474..2d443c9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,8 +15,7 @@ jobs: steps: - name: Clone parent project AndroidLibraries - run: | - git clone https://github.com/dreamgyf/AndroidLibraries.git + run: git clone https://github.com/dreamgyf/AndroidLibraries.git - name: Clone project FastInflate uses: actions/checkout@v3