mirror of
https://github.com/lunchcat/sif.git
synced 2026-06-12 11:01:24 -07:00
ce3075ad91
- make the four wordlist base urls (dirlist/dnslist/git/ports) package vars instead of consts so tests can repoint them at a local fixture; the default values are byte-for-byte unchanged - add internal/scan/integration_test.go behind a //go:build integration tag: it stands up a local "vulnerable app" httptest server with planted artifacts and runs git/dirlist/cms/headers/sql/lfi/ports against it, asserting real findings - go.yml runs them via `go test -tags=integration`; the default test run is untouched (the tag keeps them out) - document the integration run in docs/development.md
52 lines
1.2 KiB
YAML
52 lines
1.2 KiB
YAML
name: go
|
|
|
|
on:
|
|
push:
|
|
branches: ["main"]
|
|
pull_request:
|
|
branches: ["main"]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: set up go
|
|
uses: actions/setup-go@v6
|
|
with:
|
|
go-version: "1.25"
|
|
- name: golangci-lint
|
|
uses: golangci/golangci-lint-action@v8
|
|
with:
|
|
version: v2.11.4
|
|
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
go-version: ["1.25"]
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: set up go
|
|
uses: actions/setup-go@v6
|
|
with:
|
|
go-version: ${{ matrix.go-version }}
|
|
- name: build
|
|
run: make
|
|
- name: run tests with coverage
|
|
run: go test -race -coverprofile=coverage.out -covermode=atomic ./...
|
|
- name: upload coverage to codecov
|
|
uses: codecov/codecov-action@v6
|
|
with:
|
|
files: ./coverage.out
|
|
fail_ci_if_error: false
|
|
- name: run integration tests
|
|
run: go test -tags=integration -race ./internal/scan/...
|