Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Release

on:
workflow_dispatch:

jobs:
# Build Python package
build:
uses: ewoks-kit/.github/.github/workflows/python-build.yml@main

# Run tests
tests:
needs: build
uses: ewoks-kit/.github/.github/workflows/python-tests.yml@main

# Publish package to TestPyPI
publish-testpypi:
needs: tests
runs-on: ubuntu-latest
environment:
name: release
permissions:
id-token: write
steps:
- uses: ewoks-kit/.github/.github/actions/setup-python-package@main
- uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/

# Publish package to PyPI
publish-pypi:
needs: tests
runs-on: ubuntu-latest
environment:
name: release
permissions:
id-token: write
steps:
- uses: ewoks-kit/.github/.github/actions/setup-python-package@main
- uses: pypa/gh-action-pypi-publish@release/v1

# Tag
tag-release:
needs: publish-pypi
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: ewoks-kit/.github/.github/actions/setup-python-package@main
- uses: ewoks-kit/.github/.github/actions/tag-release@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
92 changes: 92 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: Test

on:
push:
branches:
- main
pull_request:
workflow_dispatch:
workflow_call:

jobs:
# Build Python package
build:
uses: ewoks-kit/.github/.github/workflows/python-build.yml@main

# Run tests
tests:
needs: build
uses: ewoks-kit/.github/.github/workflows/python-tests.yml@main
secrets:
codecov_token: ${{ secrets.CODECOV_TOKEN }}
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
pytest-args: >-
-v -ra -W error
${{ matrix.extra-pytest-warnings }}
enable-coverage: ${{ matrix.enable-coverage }}
jupyter-platform-dirs: "1"
codecov-flags: "unit"
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
python-version: "3.8"
enable-coverage: "false"
extra-pytest-warnings: ""

- os: ubuntu-latest
python-version: "3.9"
enable-coverage: "false"
# https://github.com/networkx/networkx/issues/7372
extra-pytest-warnings: "-W ignore::RuntimeWarning:networkx.utils.backends"

- os: ubuntu-latest
python-version: "3.10"
enable-coverage: "false"
extra-pytest-warnings: ""

- os: ubuntu-latest
python-version: "3.11"
enable-coverage: "false"
extra-pytest-warnings: ""

- os: ubuntu-latest
python-version: "3.12"
enable-coverage: "true"
extra-pytest-warnings: ""

- os: ubuntu-latest
python-version: "3.13"
enable-coverage: "false"
extra-pytest-warnings: ""

- os: ubuntu-latest
python-version: "3.14"
enable-coverage: "false"
extra-pytest-warnings: ""

- os: windows-latest
python-version: "3.9"
enable-coverage: "false"
extra-pytest-warnings: ""

- os: windows-latest
python-version: "3.10"
enable-coverage: "false"
extra-pytest-warnings: ""

# Run linter / checks
checks:
uses: ewoks-kit/.github/.github/workflows/python-check.yml@main

# Build documentation
docs:
needs: build
uses: ewoks-kit/.github/.github/workflows/python-docs.yml@custom_docs
with:
pre-build-commands: |
echo "Save REST API specs"
ewoks-server-spec doc/spec.json
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Hidden files
.*
!.gitignore
!.github
!.readthedocs.yaml
!.flake8

Expand Down
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [2.1.2] - 2026-03-06

### Changed

- Project migrated to https://github.com/ewoks-kit/ewoksserver.

## [2.1.1] - 2025-08-02

## Fixed
Expand Down Expand Up @@ -191,7 +197,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Serve ewoksweb frontend.
- Swagger API documentation.

[unreleased]: https://github.com/ewoks-kit/ewoksserver/compare/v2.1.1...HEAD
[unreleased]: https://github.com/ewoks-kit/ewoksserver/compare/v2.1.2...HEAD
[2.1.2]: https://github.com/ewoks-kit/ewoksserver/compare/v2.1.1...v2.1.2
[2.1.1]: https://github.com/ewoks-kit/ewoksserver/compare/v2.1.0...v2.1.1
[2.1.0]: https://github.com/ewoks-kit/ewoksserver/compare/v2.0.1...v2.1.0
[2.0.1]: https://github.com/ewoks-kit/ewoksserver/compare/v2.0.0...v2.0.1
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## General guidelines

<a href="https://gitlab.esrf.fr/dau/ci/pyci/-/blob/main/CONTRIBUTING.md" target="_blank">CONTRIBUTING.md</a>
<a href="https://github.com/ewoks-kit/.github/blob/main/shared/CONTRIBUTING.md" target="_blank">CONTRIBUTING.md</a>

## Starting the server

Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# ewoksserver

[![Pipeline](https://github.com/ewoks-kit/ewoksserver/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/ewoks-kit/ewoksserver/actions/workflows/test.yml)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![License](https://img.shields.io/github/license/ewoks-kit/ewoksserver)](https://github.com/ewoks-kit/ewoksserver/blob/main/LICENSE.md)
[![Coverage](https://codecov.io/gh/ewoks-kit/ewoksserver/branch/main/graph/badge.svg)](https://codecov.io/gh/ewoks-kit/ewoksserver)
[![Docs](https://readthedocs.org/projects/ewoksserver/badge/?version=latest)](https://ewoksserver.readthedocs.io/en/latest/?badge=latest)
[![PyPI](https://img.shields.io/pypi/v/ewoksserver)](https://pypi.org/project/ewoksserver/)

ewoksserver is a REST server to manage and execute [ewoks](https://ewoks.readthedocs.io/) workflows.

It serves as a backend for [ewoksweb](https://ewoksweb.readthedocs.io/) and emits ewoks execution events over Socket.IO.
Expand Down
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "ewoksserver"
version = "2.1.1"
version = "2.1.2"
authors = [{ name = "ESRF", email = "dau-pydev@esrf.fr" }]
description = "Backend for ewoksweb"
readme = { file = "README.md", content-type = "text/markdown" }
Expand Down Expand Up @@ -57,6 +57,7 @@ doc = [
"sphinx_design",
"pydata_sphinx_theme",
"sphinx-copybutton",
"setuptools<82", # Issue https://github.com/sphinx-contrib/redoc/issues/53
]

[tool.setuptools]
Expand Down
2 changes: 1 addition & 1 deletion src/ewoksserver/tests/socketio_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,5 @@ def _run_coroutine(coroutine) -> Any:
loop = asyncio.get_event_loop()
except (DeprecationWarning, RuntimeError):
loop = asyncio.new_event_loop()
asyncio.get_event_loop_policy().set_event_loop(loop)
asyncio.set_event_loop(loop)
return loop.run_until_complete(coroutine)
Loading