splunk-cli 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,56 @@
1
+ name: CI
2
+ on:
3
+ push:
4
+ branches: [main]
5
+ pull_request:
6
+ workflow_dispatch:
7
+ permissions:
8
+ contents: read
9
+ concurrency:
10
+ group: ${{ github.workflow }}-${{ github.ref }}
11
+ cancel-in-progress: true
12
+ jobs:
13
+ lint:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
17
+ - uses: dtolnay/rust-toolchain@b725eda525362e7cf34af9a7243cac1e3f01a7ec # stable
18
+ with:
19
+ components: rustfmt, clippy
20
+ - run: make lint
21
+ test:
22
+ strategy:
23
+ fail-fast: false
24
+ matrix:
25
+ os: [ubuntu-latest, macos-latest, windows-latest]
26
+ runs-on: ${{ matrix.os }}
27
+ steps:
28
+ - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
29
+ - uses: dtolnay/rust-toolchain@b725eda525362e7cf34af9a7243cac1e3f01a7ec # stable
30
+ - run: cargo test --locked
31
+ msrv:
32
+ runs-on: ubuntu-latest
33
+ steps:
34
+ - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
35
+ - uses: dtolnay/rust-toolchain@7dcc700092a1a8b9c17ba0e140b4e34e93000946 # 1.90.0
36
+ - run: cargo check --locked --all-targets
37
+ conformance:
38
+ runs-on: ubuntu-latest
39
+ steps:
40
+ - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
41
+ - uses: dtolnay/rust-toolchain@b725eda525362e7cf34af9a7243cac1e3f01a7ec # stable
42
+ - run: cargo install --git https://github.com/rvben/clispec-cli --rev 78a7b645354f1049fc74a0807de2972dcb5e3db5 --locked clispec
43
+ - run: make conformance
44
+ all-checks-passed:
45
+ name: All checks passed
46
+ runs-on: ubuntu-latest
47
+ needs: [lint, test, msrv, conformance]
48
+ if: always()
49
+ steps:
50
+ - name: Verify required checks
51
+ env:
52
+ RESULTS: ${{ join(needs.*.result, ',') }}
53
+ run: |
54
+ for result in ${RESULTS//,/ }; do
55
+ test "$result" = success || exit 1
56
+ done
@@ -0,0 +1,117 @@
1
+ name: Release
2
+ on:
3
+ push:
4
+ tags: ['v[0-9]*.[0-9]*.[0-9]*']
5
+ workflow_dispatch:
6
+ inputs:
7
+ dry_run:
8
+ description: Build and validate without publishing
9
+ type: boolean
10
+ default: true
11
+ permissions:
12
+ contents: read
13
+ concurrency:
14
+ group: release-${{ github.ref }}
15
+ cancel-in-progress: false
16
+ jobs:
17
+ verify:
18
+ name: Verify release
19
+ runs-on: ubuntu-24.04
20
+ steps:
21
+ - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
22
+ - uses: dtolnay/rust-toolchain@b725eda525362e7cf34af9a7243cac1e3f01a7ec # stable
23
+ with:
24
+ components: rustfmt, clippy
25
+ - run: make check
26
+ - name: Verify tag matches package version
27
+ shell: bash
28
+ run: |
29
+ python3 - <<'PY'
30
+ import os, tomllib
31
+ with open('Cargo.toml', 'rb') as source:
32
+ version = tomllib.load(source)['package']['version']
33
+ if os.environ['GITHUB_REF_TYPE'] == 'tag':
34
+ assert os.environ['GITHUB_REF_NAME'] == f'v{version}', 'Tag/version mismatch'
35
+ PY
36
+ wheels:
37
+ name: Wheel (${{ matrix.target }})
38
+ needs: verify
39
+ timeout-minutes: 30
40
+ strategy:
41
+ fail-fast: false
42
+ matrix:
43
+ include:
44
+ - os: ubuntu-24.04
45
+ target: x86_64-unknown-linux-gnu
46
+ manylinux: '2_28'
47
+ - os: ubuntu-24.04-arm
48
+ target: aarch64-unknown-linux-gnu
49
+ manylinux: '2_28'
50
+ - os: macos-14
51
+ target: aarch64-apple-darwin
52
+ manylinux: auto
53
+ - os: macos-14
54
+ target: x86_64-apple-darwin
55
+ manylinux: auto
56
+ cross: true
57
+ - os: windows-latest
58
+ target: x86_64-pc-windows-msvc
59
+ manylinux: auto
60
+ runs-on: ${{ matrix.os }}
61
+ steps:
62
+ - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
63
+ - uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
64
+ with:
65
+ maturin-version: v1.14.1
66
+ command: build
67
+ target: ${{ matrix.target }}
68
+ manylinux: ${{ matrix.manylinux }}
69
+ args: --release --locked --compatibility pypi --out dist
70
+ - uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7
71
+ - name: Validate wheel metadata
72
+ run: uvx --from twine==6.2.0 twine check --strict dist/*.whl
73
+ - name: Smoke test installed wheel
74
+ if: ${{ !matrix.cross }}
75
+ shell: bash
76
+ run: |
77
+ uv venv .wheel-smoke
78
+ uv pip install --python .wheel-smoke --no-index --find-links dist splunk-cli
79
+ uv run --no-project --python .wheel-smoke -- splunk-cli --version
80
+ uv run --no-project --python .wheel-smoke -- splunk-cli schema jobs results
81
+ - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
82
+ with:
83
+ name: wheel-${{ matrix.target }}
84
+ path: dist/*.whl
85
+ if-no-files-found: error
86
+ sdist:
87
+ name: Source distribution
88
+ needs: verify
89
+ runs-on: ubuntu-24.04
90
+ steps:
91
+ - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
92
+ - uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
93
+ with:
94
+ maturin-version: v1.14.1
95
+ command: sdist
96
+ args: --out dist
97
+ - uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7
98
+ - run: uvx --from twine==6.2.0 twine check --strict dist/*.tar.gz
99
+ - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
100
+ with:
101
+ name: sdist
102
+ path: dist/*.tar.gz
103
+ if-no-files-found: error
104
+ publish-pypi:
105
+ name: Publish to PyPI
106
+ needs: [wheels, sdist]
107
+ if: ${{ github.ref_type == 'tag' && inputs.dry_run != true }}
108
+ runs-on: ubuntu-24.04
109
+ steps:
110
+ - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
111
+ with:
112
+ path: artifacts
113
+ - uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7
114
+ - name: Publish all wheels and source distribution
115
+ env:
116
+ UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
117
+ run: uv publish --check-url https://pypi.org/simple artifacts/wheel-*/*.whl artifacts/sdist/*.tar.gz
@@ -0,0 +1,11 @@
1
+ /target
2
+ /dist
3
+ .DS_Store
4
+ *.swp
5
+
6
+ .env
7
+ .env.*
8
+ *.pem
9
+ .venv/
10
+ __pycache__/
11
+ .wheel-smoke/
@@ -0,0 +1,17 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/).
6
+
7
+ ## [Unreleased]
8
+
9
+ ## [0.0.1] - 2026-11-03
10
+
11
+ ### Added
12
+
13
+ - add clispec-compliant Splunk CLI and PyPI packaging
14
+
15
+ ### Fixed
16
+
17
+ - **ci**: install the v0.3 scorer from pinned source ([dc3d4ff](https://github.com/rvben/splunk-cli/commit/dc3d4ff2c42a27a0d0f3f4f9280203832805d717))