不再解析 auth.json 的 id_token 來取得 email(只證明 secret 解得開、 無法確保工具真的登入成功)。改為透過 codex exec 實際呼叫模型:登入無效 或 token 過期時 codex exec 會直接失敗,CI 再以 steps.codex.outputs.text 是否為空做最終把關。action 移除 email output,保留 -s danger-full-access 以避免 runner 容器內 bubblewrap 沙箱失敗。
36 lines
892 B
YAML
36 lines
892 B
YAML
name: CI
|
|
|
|
on:
|
|
pull_request:
|
|
branches-ignore:
|
|
- master
|
|
types: [opened, synchronize]
|
|
|
|
jobs:
|
|
release-tag-version:
|
|
name: Release Tag Version
|
|
runs-on: ubuntu
|
|
outputs:
|
|
version: ${{ steps.release-tag-version.outputs.version }}
|
|
steps:
|
|
- name: 計算版本號
|
|
id: release-tag-version
|
|
uses: https://gitea.jsc.idv.tw/composite-actions/release-tag-version@${{ vars.ACTION_RELEASE_TAG_VERSION }}
|
|
with:
|
|
is_beta: 'true'
|
|
|
|
codex:
|
|
name: Codex
|
|
runs-on: ubuntu
|
|
needs: release-tag-version
|
|
steps:
|
|
- name: 測試工具
|
|
id: codex
|
|
uses: https://gitea.jsc.idv.tw/composite-actions/codex@v${{ needs.release-tag-version.outputs.version }}
|
|
with:
|
|
oauth: ${{ secrets.CODEX_OAUTH }}
|
|
prompt: "請自我介紹"
|
|
- name: 檢查登入
|
|
if: ${{ steps.codex.outputs.text == '' }}
|
|
run: exit 1
|