Skip to content

Commit

Permalink
Add PyPi links to the changelog (#285)
Browse files Browse the repository at this point in the history
  • Loading branch information
tscurtu authored Nov 1, 2022
1 parent 0aa9160 commit a7946bb
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 39 deletions.
58 changes: 29 additions & 29 deletions docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,44 +4,44 @@ Lines for version numbers should always be formatted as `* MAJOR.MINOR.PATCH`
with nothing else on the line.
-->
* HEAD
* 0.19.0
* [0.19.0](https://pypi.org/project/sematic/0.19.0/)
* [feature] Expose Kubernetes infra failures in the Run panel
* [feature] Enable restarting resolutions from the command line from a particular run, using different code
* [feature] Enable restarting resolutions from the UI from a particular run
* [feature] Support for easier testing of Sematic pipelines
* [bugfix] Fix max parallelism for detached mode
* 0.18.1
* [0.18.1](https://pypi.org/project/sematic/0.18.1/)
* [bugfix] Remove SQLAlchemy model dependencies from Python migrations
* [bugfix] Enable usage of multiple base images in detached mode
* 0.18.0
* [0.18.0](https://pypi.org/project/sematic/0.18.0/)
* [feature] Add ability to limit the number of parallel runs within a pipeline
* [feature] Support for multiple bazel base container images
* [enhancement] Ensure at one list element is displayed and increase max number displayed
* [bugfix] Make sure retry works when parent exception class is specified
* 0.17.2
* [0.17.2](https://pypi.org/project/sematic/0.17.2/)
* [bugfix] Correct fix GitInfo for custom Bazel workspaces
* 0.17.1
* [0.17.1](https://pypi.org/project/sematic/0.17.1/)
* [feature] Add Sematic version cli command
* [bugfix] Fix cancel button upon completion
* [bugfix] Bump minimum client version to 0.17.0
* [bugfix] Fix GitInfo for custom Bazel workspaces
* 0.17.0
* [0.17.0](https://pypi.org/project/sematic/0.17.0/)
* [feature] Function Retry on failure
* [feature] Expose pipeline git commit info in the UI
* [feature] Cancel resolution support
* 0.16.0
* [0.16.0](https://pypi.org/project/sematic/0.16.0/)
* [feature] Support Enums
* [feature] Allow specifying Kubernetes tolerations for cloud jobs
* [improvement] Redesigned log UI
* 0.15.1
* [0.15.1](https://pypi.org/project/sematic/0.15.1/)
* [bugfix] Ensure log ingestion happens when using bazel cloud jobs and `dev=False`
* [bugfix] Avoid spamming the server with requests for logs for incomplete runs
without logs
* 0.15.0
* [0.15.0](https://pypi.org/project/sematic/0.15.0/)
* [feature] Display logs for cloud jobs in the UI.
* [improvement] Ensure the push of docker images by bazel works with docker
credential helpers
* 0.14.0
* [0.14.0](https://pypi.org/project/sematic/0.14.0/)
* [feature] BREAKING CHANGE: For cloud execution, users submitting pipelines no
longer need Kubernetes access. Users who have deployed the Sematic server using
docker will need to either (a) switch to deploying the server on Kubernetes or
Expand All @@ -50,77 +50,77 @@ with nothing else on the line.
* [bugfix] Remove job environment variables from resolution API response
* [improvement] Lower the probability of evictions of resolution jobs and improve
handling of that situation
* 0.13.0
* [0.13.0](https://pypi.org/project/sematic/0.13.0/)
* [bugfix] Bugfix for dicitonary visualization
* [feature] When running in cloud mode, have the server log to stdout
* [feature] Enable mounting Kubernetes secrets into the container
* 0.12.0
* [0.12.0](https://pypi.org/project/sematic/0.12.0/)
* [feature] BREAKING CHANGE: Allow specifying resource requirements for Kubernetes
jobs. `KubernetesResourceRequirements` has a new required field, `requests`
* [feature] Add `has_container_image()` API for better control over launch workflows
* [bugfix] Pass API key to request to fetch root run
* 0.11.0
* [0.11.0](https://pypi.org/project/sematic/0.11.0/)
* [feature] Add a `get_artifact_value` API to retreive artifacts by ID
* [feature] Add ability to link to individual runs on the UI, not just pipelines
* [feature] Add option to serve local server from 0.0.0.0
* [feature] Add capability to use different API URLs for local vs remote client usage
* [feature] Enable environment variable to change Sematic config directory
* [improvement] Add exceptions and other improved app logs to the server log files
* [bugfix] Solve a bug with displaying empty lists in the UI
* 0.10.0
* [0.10.0](https://pypi.org/project/sematic/0.10.0/)
* [improvement] Add support for python 3.8
* [improvement] Friendly error message for unsupported Python version
* [improvement] Friendly error message when clients don't match server version
* 0.9.0
* [0.9.0](https://pypi.org/project/sematic/0.9.0/)
* [feature] Grafana integration for log panels
* 0.8.0
* [0.8.0](https://pypi.org/project/sematic/0.8.0/)
* [feature] Capture exception stack traces and display in UI
* 0.7.0
* [0.7.0](https://pypi.org/project/sematic/0.7.0/)
* [feature] Optional authentication with Google OAuth
* 0.6.0
* [0.6.0](https://pypi.org/project/sematic/0.6.0/)
* [feature] Cloud execution with `CloudResolver`
* [feature] Dependency packaging with the `sematic_pipeline` Bazel wheel
* 0.5.1
* [0.5.1](https://pypi.org/project/sematic/0.5.1/)
* [bugfix] Fix JSON summary of Pandas dataframes with timestamp fields
* 0.5.0
* [0.5.0](https://pypi.org/project/sematic/0.5.0/)
* [feature] `getitem` support for futures of list, tuples, dictionaries
* [feature] `__iter__` support for futures of tuples
* 0.4.0
* [0.4.0](https://pypi.org/project/sematic/0.4.0/)
* [feature] ability to deploy the Sematic API to a cloud instance and run
pipelines against it (pipeline still runs locally)
* [improvement] Rename `$ sematic credentials` to `$ sematic settings` to be
able to store other things than credentials.
* 0.3.0
* [0.3.0](https://pypi.org/project/sematic/0.3.0/)
* [feature] Support for Tuple types
* [feature] Support for Dict types
* [feature] `SnowflakeTable` type
* [feature] `$ sematic credentials set <app> <var> <value>` CLI command
* 0.2.0
* [0.2.0](https://pypi.org/project/sematic/0.2.0/)
* [bugfix] UI scroll issues
* [bugfix] Dataframe UI previews fails for null/NaN values
* [improvement] link to docs in exceptions for unsupported future operations
* [example] dynamic graph examples
* 0.1.2-alpha
* [0.1.2-alpha](https://pypi.org/project/sematic/0.1.2a0/)
* [bugfix] Fix example execution
* 0.1.1-alpha
* [0.1.1-alpha](https://pypi.org/project/sematic/0.1.1a0/)
* [feature] Support for returning and passing lists of futures
* [example] Dummy dynamic graph
* [bugfix] List UI display
* [improvement] Streamline examples, improve CLI experience
* 0.1.0-alpha
* [0.1.0-alpha](https://pypi.org/project/sematic/0.1.0a0/)
* [feature] Show run panel when clicking run in DAG
* [feature] When switching root run, stay on same function if possible
* [feature] Discord link in side bar
* [feature] Notes
* [feature] `$ sematic new` CLI command
* [bugfix] Style improvements to DAV view
* 0.0.4-alpha
* [0.0.4-alpha](https://pypi.org/project/sematic/0.0.4a0/)
* New full-page app UI layout
* 0.0.3-alpha.2
* [0.0.3-alpha.2](https://pypi.org/project/sematic/0.0.3a2/)
* [bugfix] Fix date display to cnvert from UTC
* [bugfix] Fix migration bootstrapping to guarantee order of migrations
* [feature] UI support for `pandas.DataFrame`
* [feature] UI support for `matplotlib.figure.Figure`
* [example] New liver cirrhosis prediction model (SKLearn, XGBoost)
* 0.0.2.alpha.1654828599
* [0.0.2.alpha.1654828599](https://pypi.org/project/sematic/0.0.2a1654828599/)
* Initial release
18 changes: 8 additions & 10 deletions sematic/tests/test_versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,25 @@ def test_min_client_version():


def test_changelog():
changelog_versions = []
changelog_version = None
with open("docs/changelog.md", "r") as fp:
for line in fp:
# regex matches lines that start with a literal *, have a space,
# and then MAJOR.MINOR.PATCH where MAJOR, MINOR, and PATCH consist
# only of digits (and at least one digit). It also allows for space
# characters after the patch version before the end of the line.
if re.match(r"\* \d+\.\d+.\d+\s*$", line) is None:
match = re.match(r"\* \[(\d+\.\d+\.\d+.*)\]\(.+\)$", line)
if match is None:
continue
version_string = line[len("* ") :] # noqa: E203
changelog_versions.append(tuple(int(v) for v in version_string.split(".")))
version_string = match.groups()[0]
changelog_version = tuple(int(v) for v in version_string.split("."))
break

message = (
f"Latest version in changelog.md ({changelog_versions[0]}) doesn't "
f"Latest version in changelog.md ({changelog_version}) doesn't "
f"match the version in versions.py ({CURRENT_VERSION})."
)
assert changelog_versions[0] == CURRENT_VERSION, message

# assert versions are in descending order
for version, following_version in zip(changelog_versions, changelog_versions[1:]):
assert version > following_version
assert changelog_version == CURRENT_VERSION, message


def test_helm_chart():
Expand Down

0 comments on commit a7946bb

Please sign in to comment.