diff --git a/.gitea/ai-review/exclusions.json b/.gitea/ai-review/exclusions.json new file mode 100644 index 0000000..06f9d41 --- /dev/null +++ b/.gitea/ai-review/exclusions.json @@ -0,0 +1,20 @@ +{ + "version": "1.0", + "exclusions": [ + { + "id": 1, + "title": "使用來自非官方來源的自訂 Action 的供應鏈風險", + "reason": "列入排除問題" + }, + { + "id": 3, + "title": "cache-nuget@v0.0.3 釘選到修補版本", + "reason": "列入排除問題" + }, + { + "id": 4, + "title": "action 需要 skip_checkout / skip_cache 兩個 inputs", + "reason": "列入排除問題" + } + ] +} diff --git a/.gitea/workflows/master.yaml b/.gitea/workflows/master.yaml index b54c903..1be7a87 100644 --- a/.gitea/workflows/master.yaml +++ b/.gitea/workflows/master.yaml @@ -1,10 +1,11 @@ +name: CD on: push: branches: - master jobs: version: - name: "CD > 計算版本號" + name: 計算版本號 runs-on: ubuntu outputs: version: ${{ steps.version.outputs.version }} @@ -13,7 +14,7 @@ jobs: id: version uses: https://gitea.jsc.idv.tw/actions/calculate-version@${{ vars.ACTION_CALCULATE_VERSION }} release: - name: "CD > 發布專案" + name: 發布專案 runs-on: ubuntu needs: version steps: diff --git a/.gitea/workflows/review.yaml b/.gitea/workflows/review.yaml new file mode 100644 index 0000000..a24c7be --- /dev/null +++ b/.gitea/workflows/review.yaml @@ -0,0 +1,19 @@ +name: AI +on: + pull_request: + types: [opened, synchronize] +jobs: + code-review: + name: Code Review + runs-on: ubuntu + steps: + - name: AI Code Review + uses: https://gitea.jsc.idv.tw/actions/code-review@${{ vars.ACTION_CODE_REVIEW_VERSION }} + with: + GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }},${{ secrets.GEMINI_API_KEY_1 }},${{ secrets.GEMINI_API_KEY_2 }},${{ secrets.GEMINI_API_KEY_3 }},${{ secrets.GEMINI_API_KEY_4 }},${{ secrets.GEMINI_API_KEY_5 }},${{ secrets.GEMINI_API_KEY_6 }},${{ secrets.GEMINI_API_KEY_7 }},${{ secrets.GEMINI_API_KEY_8 }},${{ secrets.GEMINI_API_KEY_9 }},${{ secrets.GEMINI_API_KEY_10 }},${{ secrets.GEMINI_API_KEY_11 }},${{ secrets.GEMINI_API_KEY_12 }},${{ secrets.GEMINI_API_KEY_13 }},${{ secrets.GEMINI_API_KEY_14 }},${{ secrets.GEMINI_API_KEY_15 }},${{ secrets.GEMINI_API_KEY_16 }},${{ secrets.GEMINI_API_KEY_17 }},${{ secrets.GEMINI_API_KEY_18 }},${{ secrets.GEMINI_API_KEY_19 }} + GEMINI_BASE_URL: https://generativelanguage.googleapis.com/v1beta + GEMINI_MODEL: ${{ vars.GEMINI_MODEL }} + permissions: + contents: write + pull-requests: write + issues: write \ No newline at end of file diff --git a/action.yml b/action.yml index 6ea89cd..e23e5a8 100644 --- a/action.yml +++ b/action.yml @@ -7,18 +7,20 @@ runs: - name: 取得專案 uses: actions/checkout@v6 - name: 快取 NUGET 套件 - uses: https://gitea.jsc.idv.tw/actions/cache-nuget@v0.0.2 + id: cache-nuget + uses: https://gitea.jsc.idv.tw/actions/cache-nuget@v0.0.3 - name: 復原專案 - run: dotnet restore - if: ${{ hashFiles('nuget.config') == '' }} - shell: bash - - name: 復原專案 - run: dotnet restore --configfile nuget.config - if: ${{ hashFiles('nuget.config') != '' }} + if: steps.cache-nuget.outputs.cache-hit != 'true' + run: | + if [[ -f "nuget.config" ]]; then + dotnet restore --configfile nuget.config + else + dotnet restore + fi shell: bash - name: 建置專案 run: dotnet build --no-restore shell: bash - name: 測試專案 run: dotnet test --no-restore --no-build - shell: bash \ No newline at end of file + shell: bash