diff --git a/.github/actions/build-node/action.yml b/.github/actions/build-node/action.yml index 545b6293..49eb9688 100644 --- a/.github/actions/build-node/action.yml +++ b/.github/actions/build-node/action.yml @@ -33,6 +33,14 @@ inputs: run_webpack: default: false required: false + chromatic_enable: + description: 'Enable Chromatic tests' + required: false + type: boolean + default: false + chromatic_project_token: + description: 'Chromatic project token' + required: false runs: using: "composite" @@ -107,3 +115,9 @@ runs: with: name: node-bundle path: ./bundles + - name: Run Chromatic + if: inputs.chromatic_enable == 'true' + uses: chromaui/action@v11.5.4 + with: + projectToken: ${{ inputs.chromatic_project_token }} + diff --git a/.github/workflows/build-node-python.yml b/.github/workflows/build-node-python.yml index ce1a7c4d..07c65baa 100644 --- a/.github/workflows/build-node-python.yml +++ b/.github/workflows/build-node-python.yml @@ -72,7 +72,7 @@ on: description: Unique id per workflow run. Must be set to unique value if dispatched multiple times for a single workflow. default: "" chromatic_enable: - description: 'Enable Chromatic Tests' + description: 'Enable Chromatic tests' required: false type: boolean default: false @@ -137,11 +137,8 @@ jobs: github_ro_token: ${{ github.event.repository.private == true && secrets.DATAVISYN_BOT_REPO_TOKEN || github.token }} run_webpack: ${{ inputs.node_run_webpack }} enable_cache: ${{ inputs.runs_on != 'self-hosted' }} - - name: Run Chromatic - if: ${{ inputs.chromatic_enable }} - uses: chromaui/action@v11.3.0 - with: - projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} + chromatic_enable: ${{ inputs.chromatic_enable }} + chromatic_project_token: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} build-python: name: Python @@ -219,6 +216,7 @@ jobs: with: ref: ${{ inputs.branch }} token: ${{ github.event.repository.private == true && secrets.DATAVISYN_BOT_REPO_TOKEN || github.token }} + fetch-depth: ${{ inputs.chromatic_enable && '0' || '1' }} - name: Checkout github-workflows uses: actions/checkout@v4 with: @@ -233,6 +231,8 @@ jobs: github_ro_token: ${{ github.event.repository.private == true && secrets.DATAVISYN_BOT_REPO_TOKEN || github.token }} run_webpack: false # Disable the build here and call afterwards, as otherwise the yarn run env:decrypt will fail due to a missing yarn install enable_cache: ${{ inputs.cypress_runs_on != 'self-hosted' && inputs.runs_on != 'self-hosted' }} + chromatic_enable: ${{ inputs.chromatic_enable }} + chromatic_project_token: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} - name: Build python uses: ./tmp/github-workflows/.github/actions/build-python with: @@ -338,6 +338,7 @@ jobs: with: ref: ${{ inputs.branch }} token: ${{ github.event.repository.private == true && secrets.DATAVISYN_BOT_REPO_TOKEN || github.token }} + fetch-depth: ${{ inputs.chromatic_enable && '0' || '1' }} - name: Checkout github-workflows uses: actions/checkout@v4 with: @@ -352,6 +353,8 @@ jobs: github_ro_token: ${{ github.event.repository.private == true && secrets.DATAVISYN_BOT_REPO_TOKEN || github.token }} run_webpack: false # Disable the build here and call afterwards, as otherwise the yarn run env:decrypt will fail due to a missing yarn install enable_cache: ${{ inputs.playwright_runs_on != 'self-hosted' && inputs.runs_on != 'self-hosted' }} + chromatic_enable: ${{ inputs.chromatic_enable }} + chromatic_project_token: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} - name: Build python uses: ./tmp/github-workflows/.github/actions/build-python with: diff --git a/.github/workflows/build-node.yml b/.github/workflows/build-node.yml index f6c5603c..9c4dce0c 100644 --- a/.github/workflows/build-node.yml +++ b/.github/workflows/build-node.yml @@ -7,11 +7,27 @@ on: type: string required: false default: ${{ github.ref || github.head_ref }} + chromatic_enable: + description: 'Enable Chromatic tests' + required: false + type: boolean + default: false + node_run_webpack: + description: "Flag to always run the webpack production build." + type: boolean + required: false + default: false + runs_on: + type: string + required: false + default: "ubuntu-22.04" secrets: DATAVISYN_BOT_REPO_TOKEN: required: false NODE_VERSION: required: false + CHROMATIC_PROJECT_TOKEN: + required: false env: NPM_REGISTRY: "https://registry.npmjs.org/" @@ -36,19 +52,25 @@ jobs: contents: write runs-on: ubuntu-22.04 steps: - # checkout specific source repository - - uses: actions/checkout@v3 + - name: Checkout source repository + uses: actions/checkout@v4 with: ref: ${{ inputs.branch }} - token: ${{ github.event.repository.private == true && secrets.DATAVISYN_BOT_REPO_TOKEN || github.token }} # has to set because otherwise it will not work - # checkout this workflow repository to get actions - - uses: actions/checkout@v3 + token: ${{ github.event.repository.private == true && secrets.DATAVISYN_BOT_REPO_TOKEN || github.token }} + fetch-depth: ${{ inputs.chromatic_enable && '0' || '1' }} + - name: Checkout github-workflows + uses: actions/checkout@v4 with: repository: datavisyn/github-workflows ref: ${{ env.WORKFLOW_BRANCH }} path: ./tmp/github-workflows - - uses: ./tmp/github-workflows/.github/actions/build-node + - name: Build node + uses: ./tmp/github-workflows/.github/actions/build-node with: node_version: ${{ secrets.NODE_VERSION || env.NODE_VERSION }} npm_registry: ${{ env.NPM_REGISTRY }} - github_ro_token: ${{ github.event.repository.private == true && secrets.DATAVISYN_BOT_REPO_TOKEN || github.token }} + github_ro_token: ${{ github.event.repository.private == true && secrets.DATAVISYN_BOT_REPO_TOKEN || github.token }} + run_webpack: ${{ inputs.node_run_webpack }} + enable_cache: ${{ inputs.runs_on != 'self-hosted' }} + chromatic_enable: ${{ inputs.chromatic_enable }} + chromatic_project_token: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} diff --git a/.github/workflows/build-product.yml b/.github/workflows/build-product.yml index f24f2a98..8cb4b4e0 100644 --- a/.github/workflows/build-product.yml +++ b/.github/workflows/build-product.yml @@ -169,4 +169,4 @@ jobs: workflow_file_name: "deploy-app.yml" ref: ${{ env.WORKFLOW_BRANCH }} github_user: ${{ secrets.DV_BOT_USER }} - client_payload: '{ "app": "${{ needs.prepare-build.outputs.app }}", "customer": "${{ steps.get-parameters.outputs.customer }}", "stage": "${{ steps.get-parameters.outputs.stage }}", "sub_app": "${{ needs.prepare-build.outputs.sub_app }}", "branch": "${{ needs.prepare-build.outputs.image_tag2 }}" }' + client_payload: '{ "app": "${{ needs.prepare-build.outputs.app }}", "customer": "${{ steps.get-parameters.outputs.customer }}", "stage": "${{ steps.get-parameters.outputs.stage }}", "sub_app": "${{ needs.prepare-build.outputs.sub_app }}", "branch": "${{ needs.prepare-build.outputs.image_tag2 }}", "image_tag": "${{ needs.prepare-build.outputs.image_tag1 }}" }'