vership 0.2.4__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,34 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+
8
+ concurrency:
9
+ group: ${{ github.workflow }}-${{ github.ref }}
10
+ cancel-in-progress: true
11
+
12
+ jobs:
13
+ lint:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - uses: dtolnay/rust-toolchain@stable
18
+ with:
19
+ components: rustfmt, clippy
20
+ - run: cargo fmt --check
21
+ - run: cargo clippy -- -D warnings
22
+
23
+ test:
24
+ runs-on: ubuntu-latest
25
+ steps:
26
+ - uses: actions/checkout@v4
27
+ - uses: dtolnay/rust-toolchain@stable
28
+ - run: cargo test
29
+
30
+ all-checks-passed:
31
+ runs-on: ubuntu-latest
32
+ needs: [lint, test]
33
+ steps:
34
+ - run: echo "All checks passed"
@@ -0,0 +1,141 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v[0-9]*.[0-9]*.[0-9]*"
7
+ workflow_dispatch:
8
+ inputs:
9
+ dry_run:
10
+ description: "Dry run (skip publishing)"
11
+ required: false
12
+ default: true
13
+ type: boolean
14
+ skip_crates_io:
15
+ description: "Skip crates.io publish"
16
+ required: false
17
+ default: false
18
+ type: boolean
19
+ skip_pypi:
20
+ description: "Skip PyPI publish"
21
+ required: false
22
+ default: false
23
+ type: boolean
24
+
25
+ permissions:
26
+ contents: write
27
+
28
+ jobs:
29
+ test:
30
+ runs-on: ubuntu-latest
31
+ steps:
32
+ - uses: actions/checkout@v4
33
+ - uses: dtolnay/rust-toolchain@stable
34
+ - run: cargo check --locked
35
+ - run: cargo test
36
+
37
+ build:
38
+ needs: test
39
+ strategy:
40
+ matrix:
41
+ include:
42
+ - target: x86_64-unknown-linux-gnu
43
+ os: ubuntu-latest
44
+ - target: aarch64-unknown-linux-gnu
45
+ os: ubuntu-latest
46
+ - target: x86_64-apple-darwin
47
+ os: macos-latest
48
+ - target: aarch64-apple-darwin
49
+ os: macos-latest
50
+ runs-on: ${{ matrix.os }}
51
+ steps:
52
+ - uses: actions/checkout@v4
53
+ - uses: dtolnay/rust-toolchain@stable
54
+ with:
55
+ targets: ${{ matrix.target }}
56
+ - name: Install cross-compilation tools
57
+ if: matrix.target == 'aarch64-unknown-linux-gnu'
58
+ run: |
59
+ sudo apt-get update
60
+ sudo apt-get install -y gcc-aarch64-linux-gnu
61
+ - name: Install maturin and zig
62
+ run: pip install maturin ziglang
63
+ - name: Build wheel
64
+ shell: bash
65
+ run: |
66
+ case "${{ matrix.target }}" in
67
+ *-gnu)
68
+ maturin build --release --target ${{ matrix.target }} --zig
69
+ ;;
70
+ *)
71
+ maturin build --release --target ${{ matrix.target }}
72
+ ;;
73
+ esac
74
+ - name: Build binary
75
+ run: cargo build --release --target ${{ matrix.target }}
76
+ env:
77
+ CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
78
+ - name: Package binary
79
+ run: |
80
+ ARCHIVE_NAME="vership-${{ github.ref_name }}-${{ matrix.target }}"
81
+ mkdir -p "${ARCHIVE_NAME}"
82
+ cp "target/${{ matrix.target }}/release/vership" "${ARCHIVE_NAME}/"
83
+ tar czf "${ARCHIVE_NAME}.tar.gz" "${ARCHIVE_NAME}"
84
+ shasum -a 256 "${ARCHIVE_NAME}.tar.gz" > "${ARCHIVE_NAME}.tar.gz.sha256"
85
+ - uses: actions/upload-artifact@v4
86
+ with:
87
+ name: build-${{ matrix.target }}
88
+ path: |
89
+ vership-*.tar.gz
90
+ vership-*.tar.gz.sha256
91
+ target/wheels/*.whl
92
+
93
+ sdist:
94
+ needs: test
95
+ runs-on: ubuntu-latest
96
+ steps:
97
+ - uses: actions/checkout@v4
98
+ - name: Install maturin
99
+ run: pip install maturin
100
+ - name: Build sdist
101
+ run: maturin sdist
102
+ - uses: actions/upload-artifact@v4
103
+ with:
104
+ name: sdist
105
+ path: target/wheels/*.tar.gz
106
+
107
+ release:
108
+ needs: [build, sdist]
109
+ runs-on: ubuntu-latest
110
+ steps:
111
+ - uses: actions/checkout@v4
112
+ - uses: actions/download-artifact@v4
113
+ with:
114
+ path: /tmp/artifacts
115
+ - uses: dtolnay/rust-toolchain@stable
116
+
117
+ - name: Publish to crates.io
118
+ if: ${{ !inputs.dry_run && !inputs.skip_crates_io }}
119
+ run: cargo publish
120
+ env:
121
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
122
+
123
+ - name: Install uv
124
+ uses: astral-sh/setup-uv@v6
125
+
126
+ - name: Publish to PyPI
127
+ if: ${{ !inputs.dry_run && !inputs.skip_pypi }}
128
+ run: uv publish /tmp/artifacts/build-*/*.whl /tmp/artifacts/sdist/*.tar.gz
129
+ env:
130
+ UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
131
+
132
+ - name: Create GitHub Release
133
+ if: ${{ !inputs.dry_run }}
134
+ run: |
135
+ gh release create ${{ github.ref_name }} \
136
+ --title "${{ github.ref_name }}" \
137
+ --generate-notes \
138
+ /tmp/artifacts/build-*/*.tar.gz \
139
+ /tmp/artifacts/build-*/*.sha256
140
+ env:
141
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1 @@
1
+ /target
@@ -0,0 +1,51 @@
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
+
8
+
9
+
10
+
11
+ ## [0.2.4](https://github.com/rvben/vership/compare/v0.2.3...v0.2.4) - 2026-03-28
12
+
13
+ ### Fixed
14
+
15
+ - **ci**: download artifacts to /tmp to avoid cargo publish size limit ([2cb9ee9](https://github.com/rvben/vership/commit/2cb9ee9ac0a71774c411a5614a1f02a4ecd86060))
16
+
17
+ ## [0.2.3](https://github.com/rvben/vership/compare/v0.2.2...v0.2.3) - 2026-03-28
18
+
19
+ ### Fixed
20
+
21
+ - **ci**: use uv publish instead of twine, fix cargo publish --allow-dirty ([54dccff](https://github.com/rvben/vership/commit/54dccff08f6eae3fe425c3afe2d6d0e540019cd0))
22
+
23
+ ## [0.2.2](https://github.com/rvben/vership/compare/v0.2.1...v0.2.2) - 2026-03-28
24
+
25
+ ### Fixed
26
+
27
+ - **ci**: allow dirty working tree for cargo publish (downloaded artifacts) ([29e9b6c](https://github.com/rvben/vership/commit/29e9b6ced8e6741bec9cd12e830327649a721046))
28
+
29
+ ## [0.2.1](https://github.com/rvben/vership/compare/v0.2.0...v0.2.1) - 2026-03-28
30
+
31
+ ### Fixed
32
+
33
+ - **ci**: use --zig flag for maturin cross-compilation on GNU targets ([5e65f0b](https://github.com/rvben/vership/commit/5e65f0bc22028467fa77c463c341a85cc853e7b4))
34
+
35
+ ## [0.2.0] - 2026-03-28
36
+
37
+ ### Added
38
+
39
+ - add --no-push flag to bump command ([9df1baa](https://github.com/rvben/vership/commit/9df1baad4b42307408cdb69a684f4ee28ec3d659))
40
+ - **vership**: implement release orchestrator (bump, status, preflight, changelog) ([a782546](https://github.com/rvben/vership/commit/a782546c43f587438ea165005b213e5ba0b8ef3f))
41
+ - **vership**: implement config parsing and hook execution ([c325c8c](https://github.com/rvben/vership/commit/c325c8c58853025d76dbfff6d0d10d69d2cfa89e))
42
+ - **vership**: implement pre-flight checks (git, lockfile, lint, tests) ([c99e8db](https://github.com/rvben/vership/commit/c99e8db9d728dca548266d8f31dd900d13c5203f))
43
+ - **vership**: implement changelog generation from conventional commits ([127fe16](https://github.com/rvben/vership/commit/127fe16c7b675485261fa81a668b3ae70d1328e9))
44
+ - **vership**: implement git operations (tags, commits, remote URL, staging) ([12145c3](https://github.com/rvben/vership/commit/12145c3abb64e2bb4bd78f31b1f443cbfa47a175))
45
+ - **vership**: implement version parsing, bumping, and project type detection ([32abfbf](https://github.com/rvben/vership/commit/32abfbf4015e8dc3f67767af7afa186a4fe0bb9f))
46
+ - **vership**: scaffold project with CLI, error handling, and project type trait ([ad73bfc](https://github.com/rvben/vership/commit/ad73bfcd10418fe00119375cf339976c4078b5ce))
47
+
48
+ ### Fixed
49
+
50
+ - **vership**: only check tracked files for uncommitted changes ([1dbec7c](https://github.com/rvben/vership/commit/1dbec7cd64a6d9b232d72a39f3dbbab295b5cbec))
51
+ - **vership**: address code review findings (TOML parsing, error handling, test coverage) ([a1cbc70](https://github.com/rvben/vership/commit/a1cbc707cf9b0592bb1c331ec93bfe5623bf670f))