From 7e609e38ccb83f62d0a7f1e379363f8f84802c6a Mon Sep 17 00:00:00 2001 From: github-actions Date: Wed, 16 Oct 2024 10:55:17 +0100 Subject: [PATCH] ci: Align PR action with zeta --- .github/CODEOWNERS | 2 +- .github/workflows/pull-request.yml | 58 +++++++++++++----------------- 2 files changed, 26 insertions(+), 34 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 18b2557..a377d4d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @benken @thelukewalton @mikecoomber #@ps9310 \ No newline at end of file +* @benken @thelukewalton @mikecoomber @ps9310 \ No newline at end of file diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 3ca3f4b..ab771f5 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -8,55 +8,49 @@ concurrency: cancel-in-progress: true jobs: - set-env: - name: "Set environment" - runs-on: ubuntu-latest - outputs: - env: ${{ steps.get_env.outputs.env }} - steps: - - uses: actions/checkout@v4 - with: - repository: ${{github.event.pull_request.head.repo.full_name}} - ref: ${{ github.head_ref }} - - name: Determine Environment - id: get_env - run: | - codeowners=$(cat .github/CODEOWNERS) - if [[ $(echo "${codeowners[@]}" | fgrep -w "@${{github.actor}}") ]]; then - echo PROWNER - echo "env=pr_owner" >> $GITHUB_OUTPUT - else - echo PR - echo "env=pr" >> $GITHUB_OUTPUT - fi code-quality: - name: Code quality runs-on: ubuntu-latest - timeout-minutes: 20 - needs: set-env - environment: ${{needs.set-env.outputs.env}} steps: - uses: actions/checkout@v4 with: repository: ${{github.event.pull_request.head.repo.full_name}} ref: ${{ github.head_ref }} + fetch-depth: 0 - uses: subosito/flutter-action@v2 with: cache: true - - - uses: ZebraDevs/flutter-code-quality@v1.0.4 + - run: dart run build_runner build --delete-conflicting-outputs + - uses: ZebraDevs/flutter-code-quality@main with: token: ${{secrets.GITHUB_TOKEN}} - run-tests: false - run-coverage: false + coverage-pass-score: "80" + + check-secret: + runs-on: ubuntu-latest + outputs: + secret-exists: ${{ steps.check.outputs.defined }} + steps: + - name: Check PR can access secrets + id: check + run: | + echo "defined=true" >> $GITHUB_OUTPUT; + if [ "${{ secrets.FIREBASE_SERVICE_ACCOUNT_ZETA_DS }}" == '' ]; then + echo "defined=false" >> $GITHUB_OUTPUT; + fi deploy-preview: - name: Deploy preview version of the example app on firebase - needs: code-quality + name: Deploy preview version of the storybook on firebase + needs: [code-quality, check-secret] + if: needs.check-secret.outputs.secret-exists == 'true' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + with: + repository: ${{github.event.pull_request.head.repo.full_name}} + ref: ${{ github.head_ref }} - uses: subosito/flutter-action@v2 + with: + cache: true - name: Setup flutter run: flutter pub get - name: Build example app @@ -67,6 +61,4 @@ jobs: with: repoToken: "${{ secrets.GITHUB_TOKEN }}" firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT_ZDS_FLUTTER }}" - expires: 7d - projectId: zds-c9c24 channelId: "pr-${{ github.event.number }}-${{ github.event.pull_request.head.ref }}"