From 43f441ded9d64900931aea0f758c826f94695fe0 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Thu, 23 Sep 2021 22:22:48 +0530 Subject: [PATCH] github: run deployment after stylecheck and unit tests pass --- .github/workflows/ci.yml | 95 +++++++++++++++++++++++++++ .github/workflows/deploy_snapshot.yml | 45 ------------- .github/workflows/pull_request.yml | 58 ---------------- 3 files changed, 95 insertions(+), 103 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .github/workflows/deploy_snapshot.yml delete mode 100644 .github/workflows/pull_request.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..ee788b1c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,95 @@ +name: CI + +on: + push: + branches: + - main + +jobs: + run-unit-tests: + runs-on: ubuntu-latest + steps: + - name: Setup Java 11 + uses: actions/setup-java@d9126d7df2f1b080b603441eaf5810ced3614e78 + with: + distribution: 'zulu' + java-version: '11' + + - name: Checkout repository + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f + + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties + + - name: Run unit tests + uses: burrunan/gradle-cache-action@03c71a8ba93d670980695505f48f49daf43704a6 + with: + arguments: test --stacktrace + + - name: (Fail-only) upload test report + if: failure() + uses: actions/upload-artifact@27bce4eee761b5bc643f46a8dfb41b430c8d05f6 + with: + name: Test report + path: app/build/reports + + stylecheck: + runs-on: ubuntu-latest + steps: + - name: Setup Java 11 + uses: actions/setup-java@d9126d7df2f1b080b603441eaf5810ced3614e78 + with: + distribution: 'zulu' + java-version: '11' + + - name: Checkout repository + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f + with: + fetch-depth: 0 + + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties + + - name: Check codestyle with Spotless + uses: burrunan/gradle-cache-action@03c71a8ba93d670980695505f48f49daf43704a6 + with: + arguments: spotlessCheck + deploy-release-snapshot: + runs-on: ubuntu-latest + if: "!contains(github.event.head_commit.message, '[ci skip]')" + needs: [ "run-unit-tests", "stylecheck" ] + steps: + + - name: Setup Java 11 + uses: actions/setup-java@d9126d7df2f1b080b603441eaf5810ced3614e78 + with: + distribution: 'zulu' + java-version: '11' + + - name: Checkout repository + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f + + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties + + - name: Decrypt secrets + run: scripts/signing-setup.sh "$ENCRYPT_KEY" + env: + ENCRYPT_KEY: ${{ secrets.ENCRYPT_KEY }} + + - name: Build release app + uses: burrunan/gradle-cache-action@03c71a8ba93d670980695505f48f49daf43704a6 + with: + arguments: :android:assembleRelease + + - name: Clean secrets + run: scripts/signing-cleanup.sh + + - name: Deploy snapshot + run: scripts/deploy-snapshot.sh + env: + ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }} + SSH_USERNAME: ${{ secrets.SSH_USERNAME }} + SERVER_ADDRESS: ${{ secrets.SERVER_ADDRESS }} + SERVER_DESTINATION: ${{ secrets.SERVER_DESTINATION }} + SSH_PORT: ${{ secrets.SSH_PORT }} diff --git a/.github/workflows/deploy_snapshot.yml b/.github/workflows/deploy_snapshot.yml deleted file mode 100644 index eba73d01..00000000 --- a/.github/workflows/deploy_snapshot.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Deploy snapshot builds - -on: - push: - branches: - - main - -jobs: - deploy-release-snapshot: - runs-on: ubuntu-latest - if: "!contains(github.event.head_commit.message, '[ci skip]')" - steps: - - name: Setup Java 11 - uses: actions/setup-java@d9126d7df2f1b080b603441eaf5810ced3614e78 - with: - distribution: 'zulu' - java-version: '11' - - - name: Checkout repository - uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f - - - name: Copy CI gradle.properties - run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - - - name: Decrypt secrets - run: scripts/signing-setup.sh "$ENCRYPT_KEY" - env: - ENCRYPT_KEY: ${{ secrets.ENCRYPT_KEY }} - - - name: Build release app - uses: burrunan/gradle-cache-action@03c71a8ba93d670980695505f48f49daf43704a6 - with: - arguments: :android:assembleRelease - - - name: Clean secrets - run: scripts/signing-cleanup.sh - - - name: Deploy snapshot - run: scripts/deploy-snapshot.sh - env: - ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }} - SSH_USERNAME: ${{ secrets.SSH_USERNAME }} - SERVER_ADDRESS: ${{ secrets.SERVER_ADDRESS }} - SERVER_DESTINATION: ${{ secrets.SERVER_DESTINATION }} - SSH_PORT: ${{ secrets.SSH_PORT }} diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml deleted file mode 100644 index f72a3c08..00000000 --- a/.github/workflows/pull_request.yml +++ /dev/null @@ -1,58 +0,0 @@ -name: CI - -on: - push: - branches: - - main - -jobs: - run-unit-tests: - runs-on: ubuntu-latest - steps: - - - name: Setup Java 11 - uses: actions/setup-java@d9126d7df2f1b080b603441eaf5810ced3614e78 - with: - distribution: 'zulu' - java-version: '11' - - - name: Checkout repository - uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f - - - name: Copy CI gradle.properties - run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - - - name: Run unit tests - uses: burrunan/gradle-cache-action@03c71a8ba93d670980695505f48f49daf43704a6 - with: - arguments: test --stacktrace - - - name: (Fail-only) upload test report - if: failure() - uses: actions/upload-artifact@27bce4eee761b5bc643f46a8dfb41b430c8d05f6 - with: - name: Test report - path: app/build/reports - - stylecheck: - runs-on: ubuntu-latest - steps: - - - name: Setup Java 11 - uses: actions/setup-java@d9126d7df2f1b080b603441eaf5810ced3614e78 - with: - distribution: 'zulu' - java-version: '11' - - - name: Checkout repository - uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f - with: - fetch-depth: 0 - - - name: Copy CI gradle.properties - run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - - - name: Check codestyle with Spotless - uses: burrunan/gradle-cache-action@03c71a8ba93d670980695505f48f49daf43704a6 - with: - arguments: spotlessCheck