Skip to content

Commit 7c2ca21

Browse files
authored
Merge pull request #172 from dwolfson/v6-prep
V6 prep - added data-engineer
2 parents 529cf57 + 5a1213d commit 7c2ca21

File tree

90 files changed

+5484
-3605
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+5484
-3605
lines changed

.github/workflows/release.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Publish to PyPI and Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*' # Trigger on version tags like v1.0.0
7+
8+
jobs:
9+
test:
10+
name: Run Tests
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- name: Install uv
15+
uses: astral-sh/setup-uv@v3
16+
- name: Set up Python
17+
run: uv python install
18+
- name: Install dependencies
19+
run: uv sync --all-extras --dev
20+
- name: Run unit tests
21+
run: uv run pytest tests/ -m "not live_egeria"
22+
23+
build-n-publish:
24+
name: Build and Publish to PyPI
25+
needs: test
26+
runs-on: ubuntu-latest
27+
environment: release
28+
permissions:
29+
id-token: write # Required for OIDC trusted publishing
30+
contents: write # Required to create GitHub Release
31+
steps:
32+
- uses: actions/checkout@v4
33+
with:
34+
fetch-depth: 0
35+
36+
- name: Install uv
37+
uses: astral-sh/setup-uv@v3
38+
39+
- name: Build package
40+
run: uv build
41+
42+
- name: Publish to PyPI
43+
uses: pypa/gh-action-pypi-publish@release/v1
44+
45+
- name: Create GitHub Release
46+
uses: softprops/action-gh-release@v1
47+
with:
48+
files: dist/*
49+
generate_release_notes: true
50+
draft: false
51+
prerelease: false

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ open source Egeria project can be found at [Egeria Project](https://egeria-proje
1616

1717
This package is in active development. There is initial
1818
support for many of Egeria's services including configuration and operation. This client depends on
19-
This release supports Egeria 5.1 - although most of the functions may work on earlier versions of Egeria as well.
19+
This release supports Egeria 6.0 - although most of the functions may work on earlier versions of Egeria as well.
2020

2121
The code is organized to mimic the existing Egeria Java Client structure.
2222

RELEASING.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Release Process for pyegeria
2+
3+
We follow Semantic Versioning (SemVer). Releases are automated via GitHub Actions when a tag is pushed.
4+
5+
## Steps to Release
6+
7+
1. **Update Version**: Update the version in `pyproject.toml`.
8+
```bash
9+
# Example: bump to 1.1.0
10+
sed -i 's/version = ".*"/version = "1.1.0"/' pyproject.toml
11+
```
12+
2. **Commit and Push**:
13+
```bash
14+
git add pyproject.toml
15+
git commit -m "chore: release v1.1.0"
16+
git push origin main
17+
```
18+
3. **Create and Push Tag**:
19+
```bash
20+
git tag v1.1.0
21+
git push origin v1.1.0
22+
```
23+
4. **Verify**:
24+
* Monitor the "Actions" tab in GitHub.
25+
* Once complete, the package will appear on [PyPI](https://pypi.org/project/pyegeria/) and a new Release will be visible on GitHub.
26+
27+
## Best Practices
28+
- **PR Labels**: Use labels like `bug`, `enhancement`, and `documentation` on Pull Requests. The release notes generator uses these to categorize changes automatically.
29+
- **Trusted Publishing**: This repo uses OIDC. Ensure the GitHub environment `release` is configured in PyPI settings to allow publishing from this specific workflow.

0 commit comments

Comments
 (0)