From 997253143f36f8988c04f2bb184b0e8bb6e154d4 Mon Sep 17 00:00:00 2001 From: Michael Yang Date: Fri, 15 Dec 2023 11:33:52 -0800 Subject: [PATCH] add lint and test on pull_request --- .github/workflows/test.yaml | 78 +++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 .github/workflows/test.yaml diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 00000000..4ffab937 --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,78 @@ +name: test + +on: + pull_request: + +jobs: + generate: + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v4 + with: + go-version: '1.20' + cache: true + - if: ${{ startsWith(matrix.os, 'windows-') }} + shell: pwsh + run: | + $path = vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath + if ($path) { + $path = join-path $path 'Common7\Tools\vsdevcmd.bat' + if (test-path $path) { + cmd /s /c """$path"" $args && set" | where { $_ -match '(\w+)=(.*)' } | foreach { + echo "$($Matches[1])=$($Matches[2])" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append + } + } + } + + echo "C:\Program Files\Git\usr\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append + - run: go get ./... + - run: go generate -x ./... + - uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.os }}-libraries + path: | + llm/llama.cpp/build/**/lib/* + lint: + needs: generate + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: actions/setup-go@v4 + with: + go-version: '1.20' + cache: false + - uses: actions/download-artifact@v4 + with: + name: ${{ matrix.os }}-libraries + path: llm/llama.cpp/build + - uses: golangci/golangci-lint-action@v3 + test: + needs: generate + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: actions/setup-go@v4 + with: + go-version: '1.20' + cache: true + - run: go get + - uses: actions/download-artifact@v4 + with: + name: ${{ matrix.os }}-libraries + path: llm/llama.cpp/build + - run: go build + - run: go test -v ./...