亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 github 操作中為 golang 運行 pre-commit.com 腳本

在 github 操作中為 golang 運行 pre-commit.com 腳本

Go
千巷貓影 2023-02-14 17:56:55
我正在嘗試使用 github 操作中與 golang 相關的一些掛鉤運行 pre-commit.com 腳本。似乎測試環境缺少一些工具來執行 go-imports 和 golangci-lint。我已經在預提交步驟之前添加了在環境中設置所需工具的步驟,但這沒有幫助。.pre-commit-config.yaml:repos:- repo: https://github.com/dnephin/pre-commit-golang  rev: v0.5.0  hooks:    - id: go-imports    - id: golangci-lint    - id: go-unit-testsgithub動作文件配置:name: pre-commiton:  pull_request:  push:    branches: [main]jobs:  pre-commit:    runs-on: ubuntu-latest    steps:    - uses: actions/checkout@v2    - uses: actions/setup-python@v2    - uses: actions/setup-go@v3    - run: go install golang.org/x/tools/cmd/goimports@latest    - run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.49.0    - uses: pre-commit/[email protected] 操作輸出: 所有 go invironments 設置步驟已成功完成pre-commit/[email protected] 詳情:[...][INFO] This may take a few minutes...go imports...............................................................Failed- hook id: go-imports- exit code: 127/home/runner/.cache/pre-commit/repow0byklud/run-go-imports.sh: line 8: goimports: command not foundgolangci-lint............................................................Failed- hook id: golangci-lint- exit code: 127/home/runner/.cache/pre-commit/repow0byklud/run-golangci-lint.sh: 2: exec: golangci-lint: not foundgo-unit-tests............................................................Passed[...]
查看完整描述

1 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

所以,問題是在安裝 go 工具后,.../go/bin 目錄沒有被添加到執行環境中的 $PATH(所以 goimports 和 golangci-lint 對于 BASH 是不可見的)


($PATH 本身被包裝在 $GITHUB_ENV 中,因為特定于 github 操作。)


在預提交操作執行之前的這個聲明可以解決這個問題(最后查看完整代碼):


run: echo "PATH=$PATH:/home/runner/go/bin" >> $GITHUB_ENV

感謝@Anthony Sottile 在對原始問題的評論中


Github Action設置代碼:


name: pre-commit


on:

  pull_request:

  push:

    branches: [main]

jobs:

  pre-commit:

    runs-on: ubuntu-latest

    steps:

    - uses: actions/checkout@v2

    - uses: actions/setup-python@v2

    - uses: actions/setup-go@v3

    - run: go install golang.org/x/tools/cmd/goimports@latest

    - run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -  -b $(go env GOPATH)/bin v1.49.0

    - run: echo "PATH=$PATH:/home/runner/go/bin" >> $GITHUB_ENV

    - uses: pre-commit/[email protected]


查看完整回答
反對 回復 2023-02-14
  • 1 回答
  • 0 關注
  • 259 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號