Skip to content

External healthcheck - 1172/merge @ shopware/docs #68

External healthcheck - 1172/merge @ shopware/docs

External healthcheck - 1172/merge @ shopware/docs #68

name: External healthcheck
run-name: External healthcheck - ${{ inputs.branch }} @ ${{ inputs.owner }}/${{ inputs.repo }}
concurrency:
group: ${{ github.workflow }}-${{ inputs.branch }}-${{ inputs.owner }}-${{ inputs.repo }}
cancel-in-progress: true
on:
workflow_dispatch:
inputs:
owner:
description: "Owner to checkout"
required: true
type: string
repo:
description: "Repo to checkout"
required: true
type: string
branch:
description: "Branch to checkout"
required: true
type: string
sha:
description: "Commit to checkout"
required: true
type: string
check:
description: "Check ID"
required: true
type: number
jobs:
trigger-build:
runs-on: ubuntu-latest
outputs:
success: "false"
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=${{ inputs.owner }}
BRANCH=${{ inputs.branch }}
BRANCH=$(printf '%s' "$BRANCH" | sed 's/\//\\\//g')
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 "success=true"
update-healthcheck-success:
name: Test build
runs-on: ubuntu-latest
needs:
- trigger-build
if: ${{ always() }}
steps:
- uses: octokit/[email protected]
name: Update check
with:
route: POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches
owner: ${{ inputs.owner }}
repo: ${{ inputs.repo }}
ref: main
workflow_id: update-healthcheck.yml
inputs: |
owner: ${{ inputs.owner }}
repo: ${{ inputs.repo }}
check: "${{ fromJson(steps.create_check_run.outputs.data).id }}"
conclusion: ${{ steps.status.outputs.success == 'true' && 'success' || 'failure' }}
env:
GITHUB_TOKEN: ${{ secrets.DEV_HUB_PERSONAL_ACCESS_TOKEN }}