chore: ⬆️ Update NVIDIA/NeMo-Speech.cpp to 9bc876635af36df537d9bc6d3f57ad1b76e4f74a
#4484
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: 'lint' | |
| on: | |
| pull_request: | |
| paths-ignore: | |
| - 'docs/**' | |
| - 'examples/**' | |
| - 'README.md' | |
| - '**/*.md' | |
| # golangci-lint runs new-from-merge-base, so a diff with no touched Go | |
| # lines can only ever be a no-op. See .agents/ci-caching.md. | |
| - 'gallery/**' | |
| push: | |
| branches: | |
| - master | |
| concurrency: | |
| group: ci-lint-${{ github.event.pull_request.number || github.sha }}-${{ github.repository }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| jobs: | |
| golangci-lint: | |
| # Self-hosted for PUSH only, and only in the canonical repo. | |
| # | |
| # This workflow also runs on pull_request, which for a fork PR means | |
| # executing untrusted contributor code. That must never land on a | |
| # self-hosted runner, so anything that is not a push to mudler/LocalAI stays | |
| # on the ephemeral hosted pool. Pushes to master are trusted code that has | |
| # already been reviewed and merged. | |
| # | |
| # Why at all: the hosted pool is shared account-wide and starved for 35 | |
| # straight minutes on 2026-07-31 while arc-runner-set kept completing jobs. | |
| # Lint is small and runs on every commit, so it is a good candidate to move | |
| # off the contended pool. | |
| # REVERTED to hosted: the arc-runner-set image has git, curl, unzip, tar, | |
| # ldd and python3, but NOT make (nor gcc). Measured on run 30637392862, | |
| # where the preflight below named both. Re-route here once the runner image | |
| # ships a C toolchain and make; the preflight stays so the next attempt | |
| # fails by name in one second instead of opaquely mid-build. | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Preflight - required host tools | |
| # The hosted images ship these; a self-hosted container image may not. | |
| # Check up front so a missing tool reports itself by name instead of | |
| # surfacing as an opaque failure inside `make protogen-go` (which needs | |
| # curl + unzip for protoc) or `make lint`. | |
| run: | | |
| missing="" | |
| for t in git curl unzip make tar; do | |
| command -v "$t" >/dev/null 2>&1 || missing="$missing $t" | |
| done | |
| echo "runner: ${RUNNER_NAME:-unknown} os: $(uname -sm)" | |
| if [ -n "$missing" ]; then | |
| echo "::error::missing required tools on this runner:$missing" | |
| exit 1 | |
| fi | |
| echo "all required tools present" | |
| - uses: actions/checkout@v7 | |
| with: | |
| # Full history so golangci-lint's new-from-merge-base can reach | |
| # origin/master and compute the diff against it. | |
| fetch-depth: 0 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.26.x' | |
| cache: false | |
| - name: install golangci-lint | |
| run: | | |
| curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh \ | |
| | sh -s -- -b "$(go env GOPATH)/bin" v2.11.4 | |
| - name: generate grpc proto sources | |
| # pkg/grpc/proto/*.go is generated, not checked in. Several packages | |
| # import it, so without this step typecheck fails project-wide. | |
| run: make protogen-go | |
| - name: stub react-ui dist for go:embed | |
| # core/http/app.go has //go:embed react-ui/dist/*; the glob needs at | |
| # least one non-hidden entry to satisfy typecheck. We don't run | |
| # `make react-ui` here because lint doesn't need the real bundle. | |
| run: | | |
| mkdir -p core/http/react-ui/dist | |
| touch core/http/react-ui/dist/index.html | |
| - name: lint | |
| run: make lint | |
| build-scripts: | |
| # The image packaging scripts encode invariants that only surface inside a | |
| # container build (a missing transitive dep, a partial cuDNN family). Their | |
| # shell tests need nothing but bash + gcc + ldd, so run them on every PR | |
| # rather than waiting on a multi-GB cross-arch backend image build. | |
| # | |
| # Push-only self-hosted routing, same fork-safety reasoning as | |
| # golangci-lint above. | |
| # REVERTED to hosted: the arc-runner-set image has git, curl, unzip, tar, | |
| # ldd and python3, but NOT make (nor gcc). Measured on run 30637392862, | |
| # where the preflight below named both. Re-route here once the runner image | |
| # ships a C toolchain and make; the preflight stays so the next attempt | |
| # fails by name in one second instead of opaquely mid-build. | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Preflight - required host tools | |
| # This job additionally needs a C toolchain: the packaging-script tests | |
| # compile a throwaway binary and inspect it with ldd. | |
| run: | | |
| missing="" | |
| for t in git make gcc ldd python3; do | |
| command -v "$t" >/dev/null 2>&1 || missing="$missing $t" | |
| done | |
| echo "runner: ${RUNNER_NAME:-unknown} os: $(uname -sm)" | |
| if [ -n "$missing" ]; then | |
| echo "::error::missing required tools on this runner:$missing" | |
| exit 1 | |
| fi | |
| echo "all required tools present" | |
| - uses: actions/checkout@v7 | |
| - name: run packaging script tests | |
| run: make test-build-scripts | |
| # The backend matrix path filter fails silently: a miss emits an empty | |
| # matrix, every job goes green, and the change reaches no image (#10946). | |
| # Its tests need only node, so they ride along with this job. | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: '20' | |
| - name: run CI script tests | |
| run: make test-ci-scripts | |
| # The shared python backend helpers (Options[] parsing, engine-arg | |
| # mapping, model reference resolution) are stdlib-only, so their tests | |
| # ride along here instead of waiting on a multi-GB backend image build. | |
| - name: run shared python backend helper tests | |
| run: make test-python-helpers |