[英]How to run pre/post job scripts on self-hosted GitHub Actions runner
[英]GitHub Actions: Run golint on wihdows
我想在 GitHub Actions 中的 Windows 上運行 golint。
go install golang.org/x/lint/golint
golint ./...
但我遇到了這個錯誤:
golint : The term 'golint' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At D:\a\_temp\dd1f47cc-42be-445e-9300-b2b5fbfd04da.ps1:4 char:1
+ golint ./...
+ ~~~~~~
+ CategoryInfo : ObjectNotFound: (golint:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : CommandNotFoundException
##[error]Process completed with exit code 1.
我接下來該怎么做?
這是我的.github/workflows/test.yaml
下面。 這在 Ubuntu 和 Mac 上運行良好。
name: test
on:
push:
branches:
- "**"
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macOS-latest
- windows-latest
steps:
- name: setup env unix
run: |
echo ::set-env name=GOPATH::${{ runner.workspace }}
echo ::add-path::${{ runner.workspace }}/bin
if: "matrix.os == 'ubuntu-latest' || matrix.os == 'macOS-latest'"
- name: setup env windows
run: |
echo ::set-env name=GOPATH::${{ runner.workspace }}
echo ::add-path::${{ runner.workspace }}\bin
if: "matrix.os == 'windows-latest'"
- name: setup go
uses: actions/setup-go@v1
with:
go-version: 1.x
- name: checkout
uses: actions/checkout@v1
with:
fetch-depth: 1
path: src/github.com/${{ github.repository }}
- name: golint
run: |
go env
go install golang.org/x/lint/golint
golint ./...
這是最小的存儲庫: https : //github.com/sanemat/use-golint-on-windows這是拉取請求: https : //github.com/sanemat/use-golint-on-windows/pull/2
正如提到的另一個(已刪除)答案,這是一個 PATH 問題。
請改用此工作流程:
name: test
on:
push:
branches:
- "**"
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macOS-latest
- windows-latest
steps:
- name: setup go
uses: actions/setup-go@v1
with:
go-version: 1.x
- name: setup env
run: |
echo "::set-env name=GOPATH::$(go env GOPATH)"
echo "::add-path::$(go env GOPATH)/bin"
shell: bash
- name: checkout
uses: actions/checkout@v1
with:
fetch-depth: 1
path: src/github.com/${{ github.repository }}
- name: golint
run: |
go env
go install golang.org/x/lint/golint
golint ./...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.