Skip to content

feat(skill): install from skills.sh, lockfile, sandbox sniff, hash-ve… #12

feat(skill): install from skills.sh, lockfile, sandbox sniff, hash-ve…

feat(skill): install from skills.sh, lockfile, sandbox sniff, hash-ve… #12

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.25'
cache: true
- name: gofmt
run: |
fmt_out=$(gofmt -l .)
if [ -n "$fmt_out" ]; then
echo "gofmt found unformatted files:"
echo "$fmt_out"
exit 1
fi
- name: go vet
run: go vet ./...
- name: golangci-lint
uses: golangci/golangci-lint-action@v6
with:
version: latest
args: --timeout=5m
test:
name: Test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.25'
cache: true
- name: Test (race)
shell: bash
run: go test -race -coverprofile=coverage.out -covermode=atomic ./...
- name: Coverage summary
if: matrix.os == 'ubuntu-latest'
shell: bash
run: go tool cover -func=coverage.out | tail -1
- name: Upload coverage
if: matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@v4
with:
name: coverage
path: coverage.out
build:
name: Build (${{ matrix.goos }}/${{ matrix.goarch }})
runs-on: ubuntu-latest
strategy:
matrix:
include:
- { goos: darwin, goarch: arm64 }
- { goos: darwin, goarch: amd64 }
- { goos: linux, goarch: arm64 }
- { goos: linux, goarch: amd64 }
- { goos: windows, goarch: amd64 }
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.25'
cache: true
- name: Build
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
CGO_ENABLED: '0'
run: go build -ldflags '-s -w' -o adept ./cmd/adept