gitoxide 0.1.0__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,37 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: cargo
4
+ directory: /
5
+ schedule:
6
+ interval: weekly
7
+ groups:
8
+ rust-deps:
9
+ patterns:
10
+ - "*"
11
+ commit-message:
12
+ prefix: chore
13
+ include: scope
14
+
15
+ - package-ecosystem: github-actions
16
+ directory: /
17
+ schedule:
18
+ interval: weekly
19
+ groups:
20
+ actions-deps:
21
+ patterns:
22
+ - "*"
23
+ commit-message:
24
+ prefix: chore
25
+ include: scope
26
+
27
+ - package-ecosystem: pip
28
+ directory: /
29
+ schedule:
30
+ interval: weekly
31
+ groups:
32
+ python-deps:
33
+ patterns:
34
+ - "*"
35
+ commit-message:
36
+ prefix: chore
37
+ include: scope
@@ -0,0 +1,68 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main, master]
6
+ pull_request:
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ test:
14
+ name: Test (${{ matrix.os }}, py${{ matrix.python-version }})
15
+ runs-on: ${{ matrix.os }}
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ os: [ubuntu-latest, macos-latest, windows-latest]
20
+ python-version: ["3.9", "3.12", "3.14"]
21
+ steps:
22
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
23
+ - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
24
+ with:
25
+ python-version: ${{ matrix.python-version }}
26
+ - uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable
27
+ - name: Install test deps
28
+ run: pip install pytest
29
+ - name: Build & install the extension
30
+ # Build via PEP 517 (maturin backend, release profile by default) and
31
+ # install into the runner's Python. Unlike `maturin develop`, this
32
+ # needs no pre-existing virtualenv.
33
+ run: pip install .
34
+ - name: Run tests
35
+ run: pytest -q
36
+
37
+ lint:
38
+ name: Rust lint (fmt + clippy)
39
+ runs-on: ubuntu-latest
40
+ steps:
41
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
42
+ - uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable
43
+ with:
44
+ components: rustfmt, clippy
45
+ - run: cargo fmt --all -- --check
46
+ - run: cargo clippy --all-targets -- -D warnings
47
+
48
+ wheels:
49
+ name: Build wheels (${{ matrix.os }})
50
+ runs-on: ${{ matrix.os }}
51
+ strategy:
52
+ fail-fast: false
53
+ matrix:
54
+ os: [ubuntu-latest, macos-latest, windows-latest]
55
+ steps:
56
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
57
+ - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
58
+ with:
59
+ python-version: "3.13"
60
+ - name: Build wheels
61
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
62
+ with:
63
+ args: --release --out dist
64
+ # abi3 wheels are forward-compatible across CPython 3.9+.
65
+ - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
66
+ with:
67
+ name: wheels-${{ matrix.os }}
68
+ path: dist
@@ -0,0 +1,107 @@
1
+ name: Publish to PyPI
2
+
3
+ # Build native wheels for every supported platform plus an sdist, then publish
4
+ # to PyPI via the official pypa/gh-action-pypi-publish action.
5
+ #
6
+ # Pre-built wheels are produced for Linux (manylinux, x86_64 + aarch64), macOS
7
+ # (x86_64 + Apple Silicon), and Windows — all using maturin.
8
+
9
+ on:
10
+ push:
11
+ tags: ["v*"]
12
+
13
+ permissions:
14
+ contents: read
15
+ # Needed by pypa/gh-action-pypi-publish for OIDC trusted publishing.
16
+ id-token: write
17
+
18
+ jobs:
19
+ linux:
20
+ runs-on: ubuntu-latest
21
+ strategy:
22
+ matrix:
23
+ target: [x86_64, aarch64]
24
+ steps:
25
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
26
+ - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
27
+ with:
28
+ python-version: "3.x"
29
+ - name: Build wheels
30
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
31
+ with:
32
+ target: ${{ matrix.target }}
33
+ args: --release --out dist
34
+ manylinux: auto
35
+ - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
36
+ with:
37
+ name: wheels-linux-${{ matrix.target }}
38
+ path: dist
39
+
40
+ macos:
41
+ runs-on: macos-latest
42
+ strategy:
43
+ matrix:
44
+ target: [x86_64, aarch64]
45
+ steps:
46
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
47
+ - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
48
+ with:
49
+ python-version: "3.x"
50
+ - name: Build wheels
51
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
52
+ with:
53
+ target: ${{ matrix.target }}
54
+ args: --release --out dist
55
+ - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
56
+ with:
57
+ name: wheels-macos-${{ matrix.target }}
58
+ path: dist
59
+
60
+ windows:
61
+ runs-on: windows-latest
62
+ steps:
63
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
64
+ - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
65
+ with:
66
+ python-version: "3.x"
67
+ - name: Build wheels
68
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
69
+ with:
70
+ target: x64
71
+ args: --release --out dist
72
+ - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
73
+ with:
74
+ name: wheels-windows
75
+ path: dist
76
+
77
+ sdist:
78
+ runs-on: ubuntu-latest
79
+ steps:
80
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
81
+ - name: Build sdist
82
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
83
+ with:
84
+ command: sdist
85
+ args: --out dist
86
+ - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
87
+ with:
88
+ name: wheels-sdist
89
+ path: dist
90
+
91
+ publish:
92
+ name: Publish
93
+ runs-on: ubuntu-latest
94
+ needs: [linux, macos, windows, sdist]
95
+ # Only publish from the canonical repo, never from forks.
96
+ if: startsWith(github.repository, 'shenxianpeng')
97
+ steps:
98
+ - name: Download built distributions
99
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
100
+ with:
101
+ pattern: wheels-*
102
+ merge-multiple: true
103
+ path: dist
104
+ - name: Publish to PyPI
105
+ uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0
106
+ with:
107
+ password: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,16 @@
1
+ name: Release Drafter
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - "main"
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ update_release_draft:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ # Draft your next Release notes as Pull Requests are merged into the default branch
14
+ - uses: release-drafter/release-drafter@v7
15
+ with:
16
+ config-name: github:shenxianpeng/.github:/.github/release-drafter.yml
@@ -0,0 +1,16 @@
1
+ # Rust
2
+ /target
3
+ # Cargo.lock is committed on purpose: this crate produces a distributed binary
4
+ # artifact (the wheel), so we want reproducible builds.
5
+
6
+ # Python
7
+ .venv/
8
+ __pycache__/
9
+ *.py[cod]
10
+ *.so
11
+ *.pyd
12
+ .pytest_cache/
13
+ build/
14
+ dist/
15
+ *.egg-info/
16
+ wheels/