Skip to content

Commit d50ebce

Browse files
committed
docs: polish README badges, add sponsorship; add scheduled govulncheck workflow
README: - Centered header with tagline and badges grouped into status, CI/quality, and community rows - Add release, license, Go version, pure-Go, platforms, GitHub Sponsors, and PRs-welcome badges - Add a table of contents and a Sponsor section CI: - Add dedicated .github/workflows/govulncheck.yml (push, PR, weekly schedule, manual dispatch); the schedule catches CVEs disclosed after the last commit - Remove the now-redundant vulncheck job from ci.yml to avoid running govulncheck twice per PR - Add .github/FUNDING.yml so GitHub shows the Sponsor button
1 parent 440f901 commit d50ebce

4 files changed

Lines changed: 85 additions & 22 deletions

File tree

.github/FUNDING.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# These are supported funding model platforms
2+
3+
github: tphakala

.github/workflows/ci.yml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -49,19 +49,6 @@ jobs:
4949
- name: Run tests with race detector
5050
run: go test -race -short ./...
5151

52-
vulncheck:
53-
name: Vulnerability Check
54-
runs-on: ubuntu-latest
55-
steps:
56-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
57-
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
58-
with:
59-
go-version: stable
60-
- name: Install govulncheck
61-
run: go install golang.org/x/vuln/cmd/govulncheck@latest
62-
- name: Run govulncheck
63-
run: govulncheck ./...
64-
6552
build:
6653
name: Build
6754
runs-on: ubuntu-latest

.github/workflows/govulncheck.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: govulncheck
2+
3+
on:
4+
push:
5+
branches: [master]
6+
pull_request:
7+
branches: [master]
8+
schedule:
9+
- cron: '0 7 * * 1' # Monday at 07:00 UTC, catches newly disclosed CVEs
10+
workflow_dispatch:
11+
12+
permissions:
13+
contents: read
14+
15+
jobs:
16+
govulncheck:
17+
name: Vulnerability Check
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
21+
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
22+
with:
23+
go-version: stable
24+
- name: Install govulncheck
25+
run: go install golang.org/x/vuln/cmd/govulncheck@latest
26+
- name: Run govulncheck
27+
run: govulncheck ./...

README.md

Lines changed: 55 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,55 @@
1-
# go-audio-resampler
2-
3-
[![CI](https://github.com/tphakala/go-audio-resampler/actions/workflows/ci.yml/badge.svg)](https://github.com/tphakala/go-audio-resampler/actions/workflows/ci.yml)
4-
[![codecov](https://codecov.io/gh/tphakala/go-audio-resampler/branch/master/graph/badge.svg)](https://codecov.io/gh/tphakala/go-audio-resampler)
5-
[![Go Reference](https://pkg.go.dev/badge/github.com/tphakala/go-audio-resampler.svg)](https://pkg.go.dev/github.com/tphakala/go-audio-resampler)
6-
[![Go Report Card](https://goreportcard.com/badge/github.com/tphakala/go-audio-resampler)](https://goreportcard.com/report/github.com/tphakala/go-audio-resampler)
7-
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/tphakala/go-audio-resampler/badge)](https://scorecard.dev/viewer/?uri=github.com/tphakala/go-audio-resampler)
8-
9-
The **only pure Go** high-quality audio resampling library (that I know of) - **no CGO dependencies** required.
1+
<h1 align="center">go-audio-resampler</h1>
2+
3+
<p align="center">
4+
<em>The only pure Go, high-quality audio resampler (that I know of). No CGO, no C toolchain, no build headaches.</em>
5+
</p>
6+
7+
<p align="center">
8+
<!-- Project status -->
9+
<img alt="Release" src="https://img.shields.io/github/v/release/tphakala/go-audio-resampler?sort=semver&label=release&color=blue">
10+
<a href="LICENSE"><img alt="License: LGPL-2.1" src="https://img.shields.io/badge/license-LGPL--2.1-blue.svg"></a>
11+
<img alt="Go version" src="https://img.shields.io/github/go-mod/go-version/tphakala/go-audio-resampler?label=go&logo=go&logoColor=white">
12+
<img alt="Pure Go, no CGO" src="https://img.shields.io/badge/pure%20Go-no%20CGO-00ADD8?logo=go&logoColor=white">
13+
<img alt="Platforms" src="https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20Windows%20%7C%20WASM-lightgrey">
14+
</p>
15+
16+
<p align="center">
17+
<!-- CI and code quality -->
18+
<a href="https://github.com/tphakala/go-audio-resampler/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/tphakala/go-audio-resampler/actions/workflows/ci.yml/badge.svg"></a>
19+
<a href="https://github.com/tphakala/go-audio-resampler/actions/workflows/govulncheck.yml"><img alt="govulncheck" src="https://github.com/tphakala/go-audio-resampler/actions/workflows/govulncheck.yml/badge.svg"></a>
20+
<a href="https://codecov.io/gh/tphakala/go-audio-resampler"><img alt="codecov" src="https://codecov.io/gh/tphakala/go-audio-resampler/branch/master/graph/badge.svg"></a>
21+
<a href="https://pkg.go.dev/github.com/tphakala/go-audio-resampler"><img alt="Go Reference" src="https://pkg.go.dev/badge/github.com/tphakala/go-audio-resampler.svg"></a>
22+
<a href="https://goreportcard.com/report/github.com/tphakala/go-audio-resampler"><img alt="Go Report Card" src="https://goreportcard.com/badge/github.com/tphakala/go-audio-resampler"></a>
23+
<a href="https://scorecard.dev/viewer/?uri=github.com/tphakala/go-audio-resampler"><img alt="OpenSSF Scorecard" src="https://api.scorecard.dev/projects/github.com/tphakala/go-audio-resampler/badge"></a>
24+
</p>
25+
26+
<p align="center">
27+
<!-- Community -->
28+
<a href="https://github.com/sponsors/tphakala"><img alt="Sponsor" src="https://img.shields.io/github/sponsors/tphakala?label=Sponsor&logo=github&color=ea4aaa"></a>
29+
<a href="CONTRIBUTING.md"><img alt="PRs welcome" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg"></a>
30+
</p>
1031

1132
Based on [libsoxr](https://sourceforge.net/projects/soxr/) (the SoX Resampler library) by Rob Sykes, this is a complete Go reimplementation delivering professional-grade quality without any C code or external dependencies.
1233

1334
The library implements polyphase FIR filtering with Kaiser window design for professional-grade sample rate conversion, following the multi-stage architecture that makes libsoxr one of the highest-quality resamplers available.
1435

36+
## Contents
37+
38+
- [Features](#features)
39+
- [Installation](#installation)
40+
- [Quick Start](#quick-start)
41+
- [Quality Presets](#quality-presets)
42+
- [Precision Modes (float32 vs float64)](#precision-modes-float32-vs-float64)
43+
- [Architecture](#architecture)
44+
- [API Reference](#api-reference)
45+
- [Command-Line Tools](#command-line-tools)
46+
- [Performance](#performance)
47+
- [Dependencies](#dependencies)
48+
- [Contributing](#contributing)
49+
- [Sponsor](#sponsor)
50+
- [License](#license)
51+
- [Acknowledgments](#acknowledgments)
52+
1553
## Features
1654

1755
- **100% Pure Go** - No CGO, no external C libraries, no build complexity. Just `go get` and build anywhere
@@ -475,6 +513,14 @@ Contributions are welcome! Please:
475513
4. Ensure `go test ./...` passes
476514
5. Submit a pull request
477515

516+
## Sponsor
517+
518+
Pure Go audio DSP is a small niche, and keeping this library correct, fast, and matched to libsoxr quality takes ongoing work. If it saves you from wrestling with CGO and C toolchains, please consider sponsoring its development.
519+
520+
[![Sponsor on GitHub](https://img.shields.io/badge/Sponsor%20on-GitHub-ea4aaa?logo=github&logoColor=white)](https://github.com/sponsors/tphakala)
521+
522+
Every sponsorship, large or small, is appreciated and helps me dedicate time to maintenance, new features, and support.
523+
478524
## License
479525

480526
This library is licensed under the **GNU Lesser General Public License v2.1 (LGPL-2.1)**.

0 commit comments

Comments
 (0)