Fix icon in search #2112
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "VLT: CI" | |
| description: "Main workflow for Volto Light Theme" | |
| on: | |
| push: | |
| workflow_dispatch: | |
| jobs: | |
| config: | |
| name: "Config: Compute values used in workflow" | |
| uses: ./.github/workflows/config.yml | |
| docs: | |
| name: "Documentation: Run tests" | |
| uses: ./.github/workflows/docs.yml | |
| needs: | |
| - config | |
| with: | |
| python-version: ${{ needs.config.outputs.python-version }} | |
| if: ${{ needs.config.outputs.docs == 'true' }} | |
| backend-lint: | |
| name: "Backend: Run lint checkers" | |
| uses: ./.github/workflows/backend-lint.yml | |
| needs: | |
| - config | |
| with: | |
| python-version: ${{ needs.config.outputs.python-version }} | |
| plone-version: ${{ needs.config.outputs.plone-version }} | |
| if: ${{ needs.config.outputs.backend == 'true' }} | |
| backend-test: | |
| name: "Backend: Run tests" | |
| uses: ./.github/workflows/backend-test.yml | |
| needs: | |
| - config | |
| strategy: | |
| matrix: | |
| python-version: ["3.13", "3.12"] | |
| plone-version: ["6.1-latest", "6.0-latest"] | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| plone-version: ${{ matrix.plone-version }} | |
| if: ${{ needs.config.outputs.backend == 'true' }} | |
| backend-coverage: | |
| name: "Backend: Run test coverage" | |
| uses: ./.github/workflows/backend-coverage.yml | |
| needs: | |
| - config | |
| with: | |
| python-version: ${{ needs.config.outputs.python-version }} | |
| plone-version: ${{ needs.config.outputs.plone-version }} | |
| if: ${{ needs.config.outputs.backend == 'true' }} | |
| backend-build: | |
| name: "Backend: Build container image (${{ needs.config.outputs.base-tag }})" | |
| if: ${{ needs.config.outputs.acceptance == 'true' && (always() && !contains(needs.*.result, 'failure'))}} | |
| uses: ./.github/workflows/backend-image-build.yml | |
| needs: | |
| - config | |
| - backend-lint | |
| - backend-test | |
| - backend-coverage | |
| with: | |
| base-tag: ${{ needs.config.outputs.base-tag }} | |
| image-name-prefix: ${{ needs.config.outputs.image-name-prefix }} | |
| image-name-suffix: backend | |
| plone-version: ${{ needs.config.outputs.plone-version }} | |
| frontend-lint: | |
| name: "Frontend: Run lint checkers" | |
| uses: ./.github/workflows/frontend-lint.yml | |
| needs: | |
| - config | |
| with: | |
| node-version: ${{ needs.config.outputs.node-version }} | |
| if: ${{ needs.config.outputs.frontend == 'true' }} | |
| permissions: | |
| contents: read | |
| packages: write | |
| frontend-unit: | |
| name: "Frontend: Run unit tests" | |
| uses: ./.github/workflows/frontend-unit.yml | |
| needs: | |
| - config | |
| with: | |
| node-version: ${{ needs.config.outputs.node-version }} | |
| if: ${{ needs.config.outputs.frontend == 'true' }} | |
| frontend-i18n: | |
| name: "Frontend: Run i18n checks" | |
| uses: ./.github/workflows/frontend-i18n.yml | |
| needs: | |
| - config | |
| with: | |
| node-version: ${{ needs.config.outputs.node-version }} | |
| if: ${{ needs.config.outputs.frontend == 'true' }} | |
| frontend-build: | |
| name: "Frontend: Build container image (${{ needs.config.outputs.base-tag }})" | |
| if: ${{ needs.config.outputs.acceptance == 'true' && (always() && !contains(needs.*.result, 'failure'))}} | |
| uses: ./.github/workflows/frontend-image-build.yml | |
| needs: | |
| - config | |
| - frontend-lint | |
| - frontend-i18n | |
| - frontend-unit | |
| with: | |
| base-tag: ${{ needs.config.outputs.base-tag }} | |
| image-name-prefix: ${{ needs.config.outputs.image-name-prefix }} | |
| image-name-suffix: frontend | |
| node-version: ${{ needs.config.outputs.node-version }} | |
| volto-version: ${{ needs.config.outputs.volto-version }} | |
| permissions: | |
| contents: read | |
| packages: write | |
| acceptance: | |
| name: "Acceptance: ${{ matrix.name }}" | |
| if: ${{ needs.config.outputs.acceptance == 'true' && (always() && !contains(needs.*.result, 'failure'))}} | |
| uses: ./.github/workflows/frontend-acceptance.yml | |
| needs: | |
| - config | |
| - backend-build | |
| - frontend-build | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: "Main" | |
| short-name: main | |
| - name: "Core - Basic" | |
| short-name: core/basic | |
| - name: "Core - Blocks" | |
| short-name: core/blocks | |
| - name: "Core - Blocks - Listing" | |
| short-name: core/blocks-listing | |
| - name: "Core - Content" | |
| short-name: core/content | |
| - name: "Add-ons" | |
| short-name: addons | |
| - name: "a11y" | |
| short-name: a11y | |
| a11y: true | |
| with: | |
| name: ${{ matrix.name }} | |
| short-name: ${{ matrix.short-name }} | |
| node-version: ${{ needs.config.outputs.node-version }} | |
| image-name-prefix: ${{ needs.config.outputs.image-name-prefix }} | |
| image-tag: ${{ needs.config.outputs.base-tag }} | |
| a11y: ${{ matrix.a11y || false }} | |
| storybook: | |
| name: "Storybook Build" | |
| if: ${{ needs.config.outputs.acceptance == 'true' && (always() && !contains(needs.*.result, 'failure'))}} | |
| uses: ./.github/workflows/frontend-storybook.yml | |
| needs: | |
| - config | |
| visual-regression: | |
| name: "VRT: ${{ matrix.name }}" | |
| if: ${{ needs.config.outputs.acceptance == 'true' && (always() && !contains(needs.*.result, 'failure'))}} | |
| uses: ./.github/workflows/frontend-visual-regression.yml | |
| needs: | |
| - config | |
| - backend-build | |
| - frontend-build | |
| - storybook | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: "Storybook" | |
| short-name: '*' # all stories for now | |
| storybook: true | |
| - name: "Theme" | |
| short-name: '*' # all for now | |
| with: | |
| name: ${{ matrix.name }} | |
| short-name: ${{ matrix.short-name }} | |
| storybook: ${{ matrix.storybook || false }} | |
| node-version: ${{ needs.config.outputs.node-version }} | |
| image-name-prefix: ${{ needs.config.outputs.image-name-prefix }} | |
| image-tag: ${{ needs.config.outputs.base-tag }} | |
| backend-release: | |
| name: "Backend: Release container image" | |
| uses: ./.github/workflows/backend-image-release.yml | |
| if: ${{ needs.config.outputs.acceptance == 'true' && (always() && !contains(needs.*.result, 'failure'))}} | |
| needs: | |
| - config | |
| - acceptance | |
| - backend-build | |
| - visual-regression | |
| with: | |
| base-tag: ${{ needs.config.outputs.base-tag }} | |
| image-name-prefix: ${{ needs.config.outputs.image-name-prefix }} | |
| image-name-suffix: backend | |
| push: ${{ (github.event_name != 'pull_request') && !contains(needs.*.result, 'failure') }} | |
| plone-version: ${{ needs.config.outputs.plone-version }} | |
| frontend-release: | |
| name: "Frontend: Release container image" | |
| uses: ./.github/workflows/frontend-image-release.yml | |
| if: ${{ needs.config.outputs.acceptance == 'true' && (always() && !contains(needs.*.result, 'failure'))}} | |
| needs: | |
| - config | |
| - frontend-build | |
| - acceptance | |
| - visual-regression | |
| with: | |
| base-tag: ${{ needs.config.outputs.base-tag }} | |
| image-name-prefix: ${{ needs.config.outputs.image-name-prefix }} | |
| image-name-suffix: frontend | |
| push: ${{ (github.event_name != 'pull_request') && !contains(needs.*.result, 'failure') }} | |
| volto-version: ${{ needs.config.outputs.volto-version }} | |
| permissions: | |
| contents: read | |
| packages: write | |
| deploy: | |
| name: "Deploy: ${{ needs.config.outputs.hostname }}" | |
| uses: kitconcept/meta/.github/workflows/deploy.yml@main | |
| if: ${{ needs.config.outputs.acceptance == 'true' && (always() && github.ref == 'refs/heads/main' && !contains(needs.*.result, 'failure')) }} | |
| needs: | |
| - config | |
| - backend-release | |
| - frontend-release | |
| with: | |
| tag: ${{ needs.config.outputs.base-tag }} | |
| environment: ${{ needs.config.outputs.environment }} | |
| stack-name: ${{ needs.config.outputs.stack-name }} | |
| stack-file: ${{ needs.config.outputs.stack-file }} | |
| registry: "ghcr.io" | |
| username: ${{ github.actor }} | |
| secrets: | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| remote-host: ${{ secrets.DEPLOY_HOST }} | |
| remote-port: ${{ secrets.DEPLOY_PORT }} | |
| remote-user: ${{ secrets.DEPLOY_USER }} | |
| remote-private-key: ${{ secrets.DEPLOY_SSH }} | |
| env-file: | | |
| IMAGE_NAME_PREFIX=${{ needs.config.outputs.image-name-prefix }} | |
| IMAGE_TAG=${{ needs.config.outputs.base-tag }} | |
| STACK_NAME=${{ needs.config.outputs.stack-name }} | |
| STACK_PREFIX=${{ needs.config.outputs.stack-prefix }} | |
| HOSTNAME=${{ needs.config.outputs.hostname }} | |
| permissions: | |
| contents: read | |
| packages: write | |
| report: | |
| name: "Final report" | |
| if: ${{ always() }} | |
| runs-on: ubuntu-latest | |
| needs: | |
| - config | |
| - docs | |
| - backend-lint | |
| - backend-test | |
| - backend-coverage | |
| - backend-build | |
| - frontend-lint | |
| - frontend-unit | |
| - frontend-i18n | |
| - frontend-build | |
| - acceptance | |
| - visual-regression | |
| - backend-release | |
| - frontend-release | |
| - deploy | |
| steps: | |
| - name: Write report | |
| run: | | |
| echo '# Workflow Report' >> $GITHUB_STEP_SUMMARY | |
| echo '| Job ID | Conclusion |' >> $GITHUB_STEP_SUMMARY | |
| echo '| --- | --- |' >> $GITHUB_STEP_SUMMARY | |
| echo '| config | ${{ needs.config.result }} |' >> $GITHUB_STEP_SUMMARY | |
| echo '| docs | ${{ needs.docs.result }} |' >> $GITHUB_STEP_SUMMARY | |
| echo '| backend-lint | ${{ needs.backend-lint.result }} |' >> $GITHUB_STEP_SUMMARY | |
| echo '| backend-test | ${{ needs.backend-test.result }} |' >> $GITHUB_STEP_SUMMARY | |
| echo '| backend-coverage | ${{ needs.backend-coverage.result }} |' >> $GITHUB_STEP_SUMMARY | |
| echo '| backend-build | ${{ needs.backend-build.result }} |' >> $GITHUB_STEP_SUMMARY | |
| echo '| frontend-lint | ${{ needs.frontend-lint.result }} |' >> $GITHUB_STEP_SUMMARY | |
| echo '| frontend-unit | ${{ needs.frontend-unit.result }} |' >> $GITHUB_STEP_SUMMARY | |
| echo '| frontend-i18n | ${{ needs.frontend-i18n.result }} |' >> $GITHUB_STEP_SUMMARY | |
| echo '| frontend-build | ${{ needs.frontend-build.result }} |' >> $GITHUB_STEP_SUMMARY | |
| echo '| acceptance | ${{ needs.acceptance.result }} |' >> $GITHUB_STEP_SUMMARY | |
| echo '| visual-regression | ${{ needs.visual-regression.result }} |' >> $GITHUB_STEP_SUMMARY | |
| echo '| backend-release | ${{ needs.backend-release.result }} |' >> $GITHUB_STEP_SUMMARY | |
| echo '| frontend-release | ${{ needs.frontend-release.result }} |' >> $GITHUB_STEP_SUMMARY | |
| echo '| deploy | ${{ needs.deploy.result }} |' >> $GITHUB_STEP_SUMMARY |