Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
7475659
feat(auth): support multi-profile login
Jun 25, 2026
c8ff319
Merge remote-tracking branch 'upstream/main' into codex/dws-multi-pro…
Jun 25, 2026
5dc5b03
fix(auth): complete multi-org profile acceptance
Jun 25, 2026
756c7d1
feat(auth): 完成多组织 profile 验收
Jun 26, 2026
29db17d
docs(auth): 补充多组织 Ralph 验收材料
Jun 26, 2026
5ce10ce
feat(auth): 支持 auth switch TUI 切换 profile
Jun 26, 2026
cb50304
feat(auth): logout 默认清理所有组织
Jun 26, 2026
786a19b
feat(auth): login 默认新增组织授权
Jun 26, 2026
f7ccfe2
feat(profile): 使用 profile switch 切换组织
Jun 26, 2026
78ae287
docs(ralph): 更新 profile switch 验收材料
Jun 26, 2026
c5ae1c2
fix(profile): 展示全部可切换组织
Jun 26, 2026
502f072
feat(profile): support multi-org switch tui
Jun 26, 2026
6491cc5
chore(install): add branch source installer
Jun 26, 2026
c819777
fix(profile): keep global profile out of tool params
Jun 29, 2026
d7a7d28
feat(profile): support csv multi-profile runtime
Jun 29, 2026
4ee8697
ci: add multi-profile e2e workflow
Jun 29, 2026
ef9c763
ci: run multi-profile e2e on all branches
Jun 29, 2026
f973250
docs: document multi-profile e2e ci gate
Jun 29, 2026
e3fac0a
docs: remove multi-profile test cases from pr
Jun 29, 2026
9f10c31
ci: harden multi-profile e2e gates
Jun 29, 2026
e8ce2ae
fix(auth): serialize profiles.json RMW and harden multi-profile persi…
audanye-sudo Jun 29, 2026
e0ae568
fix(auth): do not fall back to a different org's legacy token slot
audanye-sudo Jun 29, 2026
e88a7c8
feat(skill): document multi-org profile usage and always ship dws-shared
audanye-sudo Jun 29, 2026
e64c0d8
Merge remote-tracking branch 'upstream/main' into codex/dws-multi-pro…
Jun 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions .github/workflows/multi-profile-e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Multi Profile E2E

on:
pull_request:
push:
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
if-no-files-found: ignore
retention-days: 3
3 changes: 3 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ jobs:
- name: Install archive tooling
run: sudo apt-get update && sudo apt-get install -y zip unzip

- name: Multi Profile E2E
run: bash scripts/dev/test-multi-profile-e2e.sh

- name: Install rcodesign (ad-hoc sign darwin binaries from Linux)
run: |
set -eu
Expand Down
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@ go 1.25.8

require (
github.com/RealAlexandreAI/json-repair v0.0.15
github.com/charmbracelet/bubbletea v1.3.6
github.com/charmbracelet/huh v1.0.0
github.com/charmbracelet/lipgloss v1.1.0
github.com/fatih/color v1.18.0
github.com/google/uuid v1.6.0
github.com/itchyny/gojq v0.12.18
github.com/muesli/termenv v0.16.0
github.com/open-dingtalk/dingtalk-stream-sdk-go v0.9.1
github.com/spf13/cobra v1.10.2
github.com/zalando/go-keyring v0.2.8
Expand All @@ -21,9 +24,7 @@ require (
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/catppuccin/go v0.3.0 // indirect
github.com/charmbracelet/bubbles v0.21.1-0.20250623103423-23b8fd6302d7 // indirect
github.com/charmbracelet/bubbletea v1.3.6 // indirect
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
github.com/charmbracelet/lipgloss v1.1.0 // indirect
github.com/charmbracelet/x/ansi v0.9.3 // indirect
github.com/charmbracelet/x/cellbuf v0.0.13 // indirect
github.com/charmbracelet/x/exp/strings v0.0.0-20240722160745-212f7b056ed0 // indirect
Expand All @@ -44,7 +45,6 @@ require (
github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
github.com/muesli/cancelreader v0.2.2 // indirect
github.com/muesli/termenv v0.16.0 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
golang.org/x/sync v0.20.0 // indirect
Expand Down
Loading
Loading