diff --git a/.github/scripts/trigger-workflow.cjs b/.github/scripts/trigger-workflow.cjs index 7bd10f92..426e8a8f 100644 --- a/.github/scripts/trigger-workflow.cjs +++ b/.github/scripts/trigger-workflow.cjs @@ -16,6 +16,7 @@ async function triggerWorkflow() { repo: process.env.DEV_HUB_REPO, sha: process.env.DEV_HUB_SHA, check: process.env.DEV_HUB_CHECK, + conclusion: process.env.DEV_HUB_CONCLUSION, }, }); diff --git a/.github/workflows/external-healthcheck.yml b/.github/workflows/external-healthcheck.yml index 46f9cdf3..28768ffa 100644 --- a/.github/workflows/external-healthcheck.yml +++ b/.github/workflows/external-healthcheck.yml @@ -22,11 +22,99 @@ on: jobs: - update-check-run: + trigger-build: + runs-on: ubuntu-latest + needs: + - update-check-run + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Print inputs + run: | + echo "branch" ${{ inputs.branch }} + echo "repo" ${{ inputs.repo }} + echo "sha" ${{ inputs.sha }} + + ORG=$(dirname ${{ inputs.repo }}) + BRANCH=${{ inputs.branch }} + + if [[ "${{ inputs.repo }}" == *"/frontends" ]]; then + echo "Embedding frontends" + sed -i "0,/ORG_FRONTENDS.*/s/.*ORG_FRONTENDS.*/ORG_FRONTENDS=$ORG/" ./.github/scripts/embed.sh + sed -i "0,/BRANCH_FRONTENDS.*/s/.*BRANCH_FRONTENDS.*/BRANCH_FRONTENDS=$BRANCH/" ./.github/scripts/embed.sh + + elif [[ "${{ inputs.repo }}" == *"/admin-extension-sdk" ]]; then + echo "Embedding admin-extension-sdk" + sed -i "0,/ORG_ADMIN_EXTENSION_SDK.*/s/.*ORG_ADMIN_EXTENSION_SDK.*/ORG_ADMIN_EXTENSION_SDK=$ORG/" ./.github/scripts/embed.sh + sed -i "0,/BRANCH_ADMIN_EXTENSION_SDK.*/s/.*BRANCH_ADMIN_EXTENSION_SDK.*/BRANCH_ADMIN_EXTENSION_SDK=$BRANCH/" ./.github/scripts/embed.sh + + elif [[ "${{ inputs.repo }}" == *"/meteor-icon-kit" ]]; then + echo "Embedding meteor-icon-kit" + sed -i "0,/ORG_METEOR_ICON_KIT.*/s/.*ORG_METEOR_ICON_KIT.*/ORG_METEOR_ICON_KIT=$ORG/" ./.github/scripts/embed.sh + sed -i "0,/BRANCH_METEOR_ICON_KIT.*/s/.*BRANCH_METEOR_ICON_KIT.*/BRANCH_METEOR_ICON_KIT=$BRANCH/" ./.github/scripts/embed.sh + + elif [[ "${{ inputs.repo }}" == *"/meteor-component-library" ]]; then + echo "Embedding meteor-component-library" + sed -i "0,/ORG_METEOR_COMPONENT_LIBRARY.*/s/.*ORG_METEOR_COMPONENT_LIBRARY.*/ORG_METEOR_COMPONENT_LIBRARY=$ORG/" ./.github/scripts/embed.sh + sed -i "0,/BRANCH_METEOR_COMPONENT_LIBRARY.*/s/.*BRANCH_METEOR_COMPONENT_LIBRARY.*/BRANCH_METEOR_COMPONENT_LIBRARY=$BRANCH/" ./.github/scripts/embed.sh + + elif [[ "${{ inputs.repo }}" == *"/docs" ]]; then + echo "Embedding docs" + sed -i "0,/ORG_DOCS.*/s/.*ORG_DOCS.*/ORG_DOCS=$ORG/" ./.github/scripts/embed.sh + sed -i "0,/BRANCH_DOCS.*/s/.*BRANCH_DOCS.*/BRANCH_DOCS=$BRANCH/" ./.github/scripts/embed.sh + + else + echo "Unknown repository ${{inputs.repo}}" + echo "Branch ${{inputs.branch}}" + exit 1 + fi + + cat ./.github/scripts/embed.sh + + - name: Prepare + uses: ./.github/actions/checkout-install + with: + apt: true + + - name: Embed repos + env: + GITLAB_FRONTENDS_USERNAME: ${{ secrets.GITLAB_FRONTENDS_USERNAME }} + GITLAB_FRONTENDS_ACCESS_KEY: ${{ secrets.GITLAB_FRONTENDS_ACCESS_KEY }} + FIGMA_TOKEN: ${{ secrets.FIGMA_TOKEN }} + FIGMA_FILE: ${{ secrets.FIGMA_FILE }} + run: | + chmod +x ./.github/scripts/embed.sh + .github/scripts/embed.sh + + - name: Test dev + run: | + export NODE_OPTIONS="--max-old-space-size=8096" + pnpm run test + + - name: Build + run: | + export NODE_OPTIONS="--max-old-space-size=8096" + export USERCENTRICS="65ynhGFvE" + pnpm run build + + - name: Test build + run: | + export NODE_OPTIONS="--max-old-space-size=8096" + pnpm run test:build + + - name: Mark as successful + id: status + run: | + echo "::set-output name=success::${{ toJson(needs.workflow_run.conclusion == 'success') }}" + + update-healthcheck-success: name: Test build runs-on: ubuntu-latest - #needs: - # - trigger-build + needs: + - trigger-build + if: ${{ always() }} steps: - name: Checkout Repository uses: actions/checkout@v2 @@ -49,85 +137,4 @@ jobs: DEV_HUB_REPO: ${{ inputs.repo }} DEV_HUB_SHA: ${{ inputs.sha }} DEV_HUB_CHECK: ${{ inputs.check }} - -# trigger-build: -# runs-on: ubuntu-latest -# needs: -# - update-check-run - -# steps: -# - name: Checkout repository -# uses: actions/checkout@v3 - -# - name: Print inputs -# run: | -# echo "branch" ${{ inputs.branch }} -# echo "repo" ${{ inputs.repo }} -# echo "sha" ${{ inputs.sha }} - -# ORG=$(dirname ${{ inputs.repo }}) -# BRANCH=${{ inputs.branch }} - -# if [[ "${{ inputs.repo }}" == *"/frontends" ]]; then -# echo "Embedding frontends" -# sed -i "0,/ORG_FRONTENDS.*/s/.*ORG_FRONTENDS.*/ORG_FRONTENDS=$ORG/" ./.github/scripts/embed.sh -# sed -i "0,/BRANCH_FRONTENDS.*/s/.*BRANCH_FRONTENDS.*/BRANCH_FRONTENDS=$BRANCH/" ./.github/scripts/embed.sh - -# elif [[ "${{ inputs.repo }}" == *"/admin-extension-sdk" ]]; then -# echo "Embedding admin-extension-sdk" -# sed -i "0,/ORG_ADMIN_EXTENSION_SDK.*/s/.*ORG_ADMIN_EXTENSION_SDK.*/ORG_ADMIN_EXTENSION_SDK=$ORG/" ./.github/scripts/embed.sh -# sed -i "0,/BRANCH_ADMIN_EXTENSION_SDK.*/s/.*BRANCH_ADMIN_EXTENSION_SDK.*/BRANCH_ADMIN_EXTENSION_SDK=$BRANCH/" ./.github/scripts/embed.sh - -# elif [[ "${{ inputs.repo }}" == *"/meteor-icon-kit" ]]; then -# echo "Embedding meteor-icon-kit" -# sed -i "0,/ORG_METEOR_ICON_KIT.*/s/.*ORG_METEOR_ICON_KIT.*/ORG_METEOR_ICON_KIT=$ORG/" ./.github/scripts/embed.sh -# sed -i "0,/BRANCH_METEOR_ICON_KIT.*/s/.*BRANCH_METEOR_ICON_KIT.*/BRANCH_METEOR_ICON_KIT=$BRANCH/" ./.github/scripts/embed.sh - -# elif [[ "${{ inputs.repo }}" == *"/meteor-component-library" ]]; then -# echo "Embedding meteor-component-library" -# sed -i "0,/ORG_METEOR_COMPONENT_LIBRARY.*/s/.*ORG_METEOR_COMPONENT_LIBRARY.*/ORG_METEOR_COMPONENT_LIBRARY=$ORG/" ./.github/scripts/embed.sh -# sed -i "0,/BRANCH_METEOR_COMPONENT_LIBRARY.*/s/.*BRANCH_METEOR_COMPONENT_LIBRARY.*/BRANCH_METEOR_COMPONENT_LIBRARY=$BRANCH/" ./.github/scripts/embed.sh - -# elif [[ "${{ inputs.repo }}" == *"/docs" ]]; then -# echo "Embedding docs" -# sed -i "0,/ORG_DOCS.*/s/.*ORG_DOCS.*/ORG_DOCS=$ORG/" ./.github/scripts/embed.sh -# sed -i "0,/BRANCH_DOCS.*/s/.*BRANCH_DOCS.*/BRANCH_DOCS=$BRANCH/" ./.github/scripts/embed.sh - -# else -# echo "Unknown repository ${{inputs.repo}}" -# echo "Branch ${{inputs.branch}}" -# exit 1 -# fi - -# cat ./.github/scripts/embed.sh - -# - name: Prepare -# uses: ./.github/actions/checkout-install -# with: -# apt: true - -# - name: Embed repos -# env: -# GITLAB_FRONTENDS_USERNAME: ${{ secrets.GITLAB_FRONTENDS_USERNAME }} -# GITLAB_FRONTENDS_ACCESS_KEY: ${{ secrets.GITLAB_FRONTENDS_ACCESS_KEY }} -# FIGMA_TOKEN: ${{ secrets.FIGMA_TOKEN }} -# FIGMA_FILE: ${{ secrets.FIGMA_FILE }} -# run: | -# chmod +x ./.github/scripts/embed.sh -# .github/scripts/embed.sh - -# - name: Test dev -# run: | -# export NODE_OPTIONS="--max-old-space-size=8096" -# pnpm run test - -# - name: Build -# run: | -# export NODE_OPTIONS="--max-old-space-size=8096" -# export USERCENTRICS="65ynhGFvE" -# pnpm run build - -# - name: Test build -# run: | -# export NODE_OPTIONS="--max-old-space-size=8096" -# pnpm run test:build \ No newline at end of file + DEV_HUB_CONCLUSION: ${{ steps.status.outputs.success == 'true' && 'success' || 'failure' }} \ No newline at end of file