name: Main Integration — 主干集成 on: push: branches: - main workflow_dispatch: permissions: contents: read concurrency: group: multi-profile-e2e-${{ github.ref }} cancel-in-progress: true jobs: multi-profile-e2e: name: Multi-profile E2E runs-on: ubuntu-latest timeout-minutes: 15 env: MULTI_PROFILE_E2E_LOG: .tmp-bin/multi-profile-e2e.log steps: - name: Check out repository uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Run isolated multi-profile chain shell: bash run: | set -o pipefail mkdir -p .tmp-bin bash scripts/dev/test-multi-profile-e2e.sh --keep-workdir | tee "$MULTI_PROFILE_E2E_LOG" { echo "### Multi-profile E2E" echo "- Command: \`bash scripts/dev/test-multi-profile-e2e.sh --keep-workdir\`" echo "- Scope: isolated auth/profile storage, profile switch/use, one-shot profile override, CSV multi-profile aggregation, legacy migration" echo "- Result: passed" } >> "$GITHUB_STEP_SUMMARY" - name: Upload debug artifacts if: failure() uses: actions/upload-artifact@v4 with: name: multi-profile-e2e-debug path: | .tmp-bin/multi-profile-e2e.*/out .tmp-bin/multi-profile-e2e.log include-hidden-files: true if-no-files-found: ignore retention-days: 3