From f15994b4aa3bc1954bbe9d48e2c4419214dc45ae Mon Sep 17 00:00:00 2001 From: andrei-zgirvaci Date: Tue, 9 Apr 2024 11:02:05 +0200 Subject: [PATCH] ci: setup cd Signed-off-by: andrei-zgirvaci --- .github/workflows/cd.yml | 113 +++++++++++++++++++++++++++------------ 1 file changed, 79 insertions(+), 34 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index b479066..3b95109 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -1,21 +1,68 @@ -name: Distribute Sample App to App Center +name: Distribute Sample App to App Center & Build Docs on: push: - branches: [main, ci] + branches: [main, ci, documentation] jobs: - build-and-deploy-sample-app: - env: - SAMPLE_APP_PATH: 'apps/sample-app/android' + # build-and-deploy-sample-app: + # env: + # SAMPLE_APP_PATH: 'apps/sample-app/android' + # runs-on: ubuntu-latest + + # steps: + # - name: Checkout repository + # uses: actions/checkout@v4 + + # - name: Setup Bun + # uses: oven-sh/setup-bun@v1 + # with: + # bun-version: latest + + # - name: Install dependencies + # run: bun install + + # - name: Setup JDK + # uses: actions/setup-java@v4 + # with: + # distribution: 'zulu' + # java-version: '17' + + # - name: Add secrets to `local.properties` + # run: | + # echo GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID }} >> ${{ env.SAMPLE_APP_PATH }}/local.properties && + # echo FACEBOOK_APP_ID=${{ secrets.FACEBOOK_APP_ID }} >> ${{ env.SAMPLE_APP_PATH }}/local.properties && + # echo FACEBOOK_CLIENT_TOKEN=${{ secrets.FACEBOOK_CLIENT_TOKEN }} >> ${{ env.SAMPLE_APP_PATH }}/local.properties && + # echo DROPBOX_APP_KEY=${{ secrets.DROPBOX_APP_KEY }} >> ${{ env.SAMPLE_APP_PATH }}/local.properties && + # echo MICROSOFT_CLIENT_ID=${{ secrets.MICROSOFT_CLIENT_ID }} >> ${{ env.SAMPLE_APP_PATH }}/local.properties && + # echo MICROSOFT_HOST_PATH=com.openmobilehub.reactnative.auth.sample.MainApplication >> ${{ env.SAMPLE_APP_PATH }}/local.properties && + # echo MICROSOFT_SIGNATURE_HASH=${{ secrets.MICROSOFT_SIGNATURE_HASH }} >> ${{ env.SAMPLE_APP_PATH }}/local.properties + + # - name: Build release + # run: | + # cd ${{ env.SAMPLE_APP_PATH }} + # ./gradlew assembleRelease + + # - name: Upload .apk to App Center + # uses: wzieba/AppCenter-Github-Action@v1 + # with: + # appName: Callstack-dev/React-Native-Auth-Sample-App + # group: Testers + # token: ${{ secrets.APP_CENTER_TOKEN }} + # file: ${{ env.SAMPLE_APP_PATH }}/app/build/outputs/apk/release/app-release.apk + # notifyTesters: true + # debug: true + # gitReleaseNotes: true + + build-docs: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - - name: Setup Bun + -- name: Setup Bun uses: oven-sh/setup-bun@v1 with: bun-version: latest @@ -23,34 +70,32 @@ jobs: - name: Install dependencies run: bun install - - name: Setup JDK - uses: actions/setup-java@v4 + - name: Build docs + run: | + cd docs + bun build + + - name: Upload Build Artifact + uses: actions/upload-pages-artifact@v3 with: - distribution: 'zulu' - java-version: '17' + path: build - - name: Add secrets to `local.properties` - run: | - echo GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID }} >> ${{ env.SAMPLE_APP_PATH }}/local.properties && - echo FACEBOOK_APP_ID=${{ secrets.FACEBOOK_APP_ID }} >> ${{ env.SAMPLE_APP_PATH }}/local.properties && - echo FACEBOOK_CLIENT_TOKEN=${{ secrets.FACEBOOK_CLIENT_TOKEN }} >> ${{ env.SAMPLE_APP_PATH }}/local.properties && - echo DROPBOX_APP_KEY=${{ secrets.DROPBOX_APP_KEY }} >> ${{ env.SAMPLE_APP_PATH }}/local.properties && - echo MICROSOFT_CLIENT_ID=${{ secrets.MICROSOFT_CLIENT_ID }} >> ${{ env.SAMPLE_APP_PATH }}/local.properties && - echo MICROSOFT_HOST_PATH=com.openmobilehub.reactnative.auth.sample.MainApplication >> ${{ env.SAMPLE_APP_PATH }}/local.properties && - echo MICROSOFT_SIGNATURE_HASH=${{ secrets.MICROSOFT_SIGNATURE_HASH }} >> ${{ env.SAMPLE_APP_PATH }}/local.properties - - - name: Build release - run: | - cd ${{ env.SAMPLE_APP_PATH }} - ./gradlew assembleRelease + deploy-docs: + needs: build-docs - - name: Upload .apk to App Center - uses: wzieba/AppCenter-Github-Action@v1 - with: - appName: Callstack-dev/React-Native-Auth-Sample-App - group: Testers - token: ${{ secrets.APP_CENTER_TOKEN }} - file: ${{ env.SAMPLE_APP_PATH }}/app/build/outputs/apk/release/app-release.apk - notifyTesters: true - debug: true - gitReleaseNotes: true + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + # Deploy to the github-pages environment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + runs-on: ubuntu-latest + + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4