我目前正在嘗試構建一個可重用的作業流,其中使用 on:workflow_call 觸發器等正確設定了可重用的作業流。
但是,當我呼叫作業流時,我需要能夠使用當前分支或提交動態填充共享作業流檔案參考。如果可能的話,我還想使用當前的組織/存盤庫動態填充組織和存盤庫,但這不太重要。因此,我對其他作業流程的呼叫如下所示:
jobs:
call-build-and-test:
uses: ${{github.repository}}/.github/workflows/cicd-build-and-test.yml@${{github.sha}}
然而不幸的是,兩個背景關系變數 ,github.repository和github.sha沒有得到評估,并且作業流在運行時失敗,說明在字串的開頭需要有效的組織和回購,或者,如果組織和回購是硬編碼的,因此它們是有效,然后它說明無法找到提交,因為它也沒有正確評估。
誰能解釋為什么背景關系變數沒有得到評估?如果這是不可能的,我如何動態填充這些值?對它們進行硬編碼是不夠的,因為它們需要針對當前分支上的版本執行,因為主分支尚未合并作業流,因此不能像此處 Github 檔案中的示例那樣簡單地硬編碼為:
https://docs.github.com/en/actions/learn-github-actions/reusing-workflows#calling-a-reusable-workflow
我相信使用背景關系變數github.*是正確的方法,因為環境變數僅在執行作業的 shell 范圍內可用,但是我也嘗試過環境語法,即GITHUB_REPOSITORY,并且遇到GITHUB_SHA同樣的問題。
uj5u.com熱心網友回復:
由于 Github Actions 不支持具有屬性的運算式,因此目前無法完成uses。
沒有解決方法(還沒有?)因為作業流解釋器(在您將作業流推送到存盤庫時還會檢查作業流語法)此時無法從運算式中獲取值。
如果作業流被解釋器識別,它可能會作業,但它不會出現在Actions選項卡上,因為它被認為是無效的。
目前,您只能使用tag,branch ref或commit hash在@符號后使用,與使用任何操作的方式相同。因此,目前必須對其進行硬編碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/338499.html
標籤:混帐 github 雅姆 github-actions
上一篇:GIT-用另一個替換分支內容
