Skip to content

Commit a97eb80

Browse files
ChrisRackauckas-ClaudeChrisRackauckasclaude
authored
Add MIT license to LinearSolveAutotune and update auth docs (#690)
- Add MIT LICENSE file to the LinearSolveAutotune sublibrary - Update autotune.md documentation to reflect new authentication features: - Document automatic authentication prompts when sharing results - Explain gh_cli_jll fallback functionality (no gh installation required) - Add examples showing auto_login parameter usage - Clarify that authentication is now more user-friendly 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: ChrisRackauckas <[email protected]> Co-authored-by: Claude <[email protected]>
1 parent 0d99660 commit a97eb80

File tree

2 files changed

+69
-10
lines changed

2 files changed

+69
-10
lines changed

docs/src/tutorials/autotune.md

Lines changed: 48 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -177,16 +177,43 @@ GPU algorithms tested (when available):
177177

178178
The autotuner includes a telemetry feature that allows you to share your benchmark results with the LinearSolve.jl community. This helps improve algorithm selection across different hardware configurations.
179179

180-
### Setting Up GitHub Authentication
180+
### Automatic Authentication
181181

182-
To share results, you need to authenticate with GitHub. There are two methods:
182+
**New in v2.0+**: LinearSolveAutotune now includes automatic authentication support! If you're not already authenticated, the system will offer to help you set up GitHub authentication when you run `share_results()`.
183+
184+
```julia
185+
# Run benchmarks
186+
results = autotune_setup()
187+
188+
# Share with the community - will prompt for authentication if needed
189+
share_results(results)
190+
```
191+
192+
If you're not authenticated, you'll see:
193+
```
194+
🔐 GitHub authentication not found.
195+
To share results with the community, authentication is required.
196+
197+
Would you like to authenticate with GitHub now? (y/n)
198+
>
199+
```
200+
201+
Simply type `y` and follow the prompts to authenticate directly from Julia!
202+
203+
### Manual Authentication Setup
204+
205+
You can also set up authentication manually before sharing:
183206

184207
#### Method 1: GitHub CLI (Recommended)
185208

186-
1. **Install GitHub CLI**
209+
The GitHub CLI is the easiest way to authenticate. LinearSolveAutotune will automatically use the GitHub CLI if it's installed, or fall back to a bundled version if not.
210+
211+
1. **Install GitHub CLI (Optional)**
187212
- macOS: `brew install gh`
188213
- Windows: `winget install --id GitHub.cli`
189214
- Linux: See [cli.github.com](https://cli.github.com/manual/installation)
215+
216+
Note: If you don't have gh installed, LinearSolveAutotune includes a bundled version via `gh_cli_jll` that will be used automatically!
190217

191218
2. **Authenticate**
192219
```bash
@@ -212,28 +239,39 @@ To share results, you need to authenticate with GitHub. There are two methods:
212239

213240
### Sharing Your Results
214241

215-
Once authenticated, sharing is simple:
242+
Once authenticated (either automatically or manually), sharing is simple:
216243

217244
```julia
218245
# Run benchmarks
219246
results = autotune_setup()
220247

221-
# Share with the community
248+
# Share with the community (with automatic authentication prompt)
222249
share_results(results)
250+
251+
# Or skip the authentication prompt if not authenticated
252+
share_results(results; auto_login = false)
223253
```
224254

225255
This will:
226-
1. Format your benchmark results as a markdown report
227-
2. Create performance plots if enabled
228-
3. Post the results as a comment to the [community benchmark collection issue](https://github.com/SciML/LinearSolve.jl/issues/669)
229-
4. Upload plots as GitHub Gists for easy viewing
256+
1. Check for existing GitHub authentication
257+
2. Offer to set up authentication if needed (unless `auto_login = false`)
258+
3. Format your benchmark results as a markdown report
259+
4. Post the results as a comment to the [community benchmark collection issue](https://github.com/SciML/LinearSolve.jl/issues/669)
260+
5. Save results locally if authentication is unavailable
261+
262+
### No GitHub CLI Required!
263+
264+
LinearSolveAutotune now includes `gh_cli_jll`, which provides a bundled version of the GitHub CLI. This means:
265+
- You don't need to install gh separately
266+
- Authentication works on all platforms
267+
- The system automatically uses your existing gh installation if available, or falls back to the bundled version
230268

231269
!!! info "Privacy Note"
232270
- Sharing is completely optional
233271
- Only benchmark performance data and system specifications are shared
234272
- No personal information is collected
235273
- All shared data is publicly visible on GitHub
236-
- If authentication fails, results are saved locally for manual sharing
274+
- If authentication fails or is skipped, results are saved locally for manual sharing
237275

238276
## Working with Results
239277

lib/LinearSolveAutotune/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Chris Rackauckas and contributors
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)