Skip to content

Commit

Permalink
[DO NOT MERGE] Changelog CI/CD
Browse files Browse the repository at this point in the history
Signed-off-by: Lance Drane <[email protected]>
  • Loading branch information
Lance-Drane committed Aug 21, 2024
1 parent 9293475 commit 72bb858
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 9 deletions.
17 changes: 8 additions & 9 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,13 @@ jobs:
with:
python-version: "3.8"
cache: true
- name: Publish package to PyPI
env:
PDM_PUBLISH_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: pdm publish --username __token__ --repository pypi
- name: Build package
run: pdm build
- name: upload to github release
uses: softprops/action-gh-release@v2
uses: docker://ghcr.io/antonyurchenko/git-release:v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# assume any version with "a" (gets "ALPHA") or "b" (gets BETA) or "rc" (release candidates) will be a prerelease
PRE_RELEASE: "${{ contains(github.ref_name, 'a') || contains(github.ref_name, 'b') || contains(github.ref_name, 'rc') }}"
with:
files: |
dist/*
# assume any version with "a" (gets "ALPHA") or "b" (gets BETA) will be a prerelease
prerelease: ${{ contains(github.ref_name, 'a') || contains(github.ref_name, 'b') }}
args: dist/*
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Changelog

## [0.7.1-aTEST] - 2024-08-21

_DO NOT USE THIS RELEASE. THIS IS FOR TESTING GITHUB CI/CD._

### Changed

- Add CHANGELOG.md

## [0.7.0] - 2024-08-21

_If you are upgrading: please see [`UPGRADING.md`](UPGRADING.md)._

### Changed

- **Breaking:** Services now work with multiple Capabilities instead of a single Capability.

### Added

- Added service-to-service request/response mechanism.

[0.7.1-rcTEST]: https://github.com/Level/level/releases/tag/0.7.1-rcTEST

[0.7.0]: https://github.com/Level/level/releases/tag/0.7.0
70 changes: 70 additions & 0 deletions UPGRADING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Upgrade Guide

This document describes breaking changes and how to upgrade. For a complete list of changes including minor and patch releases, please refer to the [changelog](CHANGELOG.md).

## 0.7.0

### Services

Services now provide a list of capabilities, instead of just a single capability. You will need to explicitly set your capability's `capability_name` property, and will provide a list of Capabilities to the Service instead of a single capability. So you will need to change former code which looks like this:

```python
from intersect_sdk import IntersectBaseCapabilityImplementation, IntersectService, intersect_message

class MyCapabilityImplementation(IntersectBaseCapabilityImplementation):

@intersect_message
def my_endpoint(self, param: str) -> str:
# ... implementation

if __name__ == '__main__':
# etc.
capability = MyCapabilityImplementation()
service = IntersectService(capability,
# ... other params
)
```

to this:

```python
from intersect_sdk import IntersectBaseCapabilityImplementation, IntersectService, intersect_message

class MyCapabilityImplementation(IntersectBaseCapabilityImplementation):

@intersect_message
def my_endpoint(self, param: str) -> str:
# ... implementation

if __name__ == '__main__':
# etc.
capability = MyCapabilityImplementation()
capability.capability_name = 'MyCapability'
service = IntersectService([capability],
# ... other params
)
```

Additionally, this reserves the `intersect_sdk_call_service` function - if you are using this function as a name, **you must change its name**. This release also adds explicit warnings if you add a function name which starts with `__intersect_sdk_`, `_intersect_sdk_`, or `intersect_sdk_` - these are reserved namespaces for future Intersect basic capability functions.

### Clients

When calling another Service's operation, the namespacing has changed from `<function_name>` to `<capability_name>.<function_name>` . So for example, if we were calling `my_endpoint` in the above Service example, the code would change from:

```python
params = IntersectClientMessageParams(
operation='my_endpoint',
# ... other parameters unchanged
)

```

to

```python
params = IntersectClientMessageParams(
operation='MyCapability.my_endpoint',
# ... other parameters unchanged
)

```

0 comments on commit 72bb858

Please sign in to comment.