| Age | Commit message (Collapse) | Author |
|
This change updates the OpenDC VM trace format to incorporate the VM
interference model in the trace format itself. This makes sense since
the model is tightly coupled to the actual trace that is being
simulated.
This approach has as benefit that we can directly load the
interference model from the workload trace, without having to resolve
the model seperately (as we did before).
|
|
This change contains a rewrite of the OpenDC web runner implementation,
which now supports terminating simulations when exceeding a deadline, as
well as executing multiple simulation jobs at the same time.
Furthermore, we have extracted the runner from the command line
interface, so that we can offer this functionality as a library in the
future.
|
|
This pull request brings several updates to the build process as well as new dependency versions. This should resolve several issues that occur during the build process (such as Quarkus or JaCoCo complaining).
## Implementation Notes :hammer_and_pick:
* Remove use of lint-staged
* Migrate from Yarn to NPM
* Update to Kotlin 1.6.21
* Update to Quarkus 2.8.1.Final
* Use JaCoCo 0.8.8
* Test Java 18
## External Dependencies :four_leaf_clover:
* Kotlin, Quarkus, JaCoCo, NPM
## Breaking API Changes :warning:
* N/A
|
|
This change moves most of the Quarkus build configuration into buildSrc
so it can possibly be re-used for other modules.
|
|
This change fixes an issue where the results of the Quarkus tests where
not included in the aggregated JaCoCo test report, due to it not using
the official Gradle JaCoCo plugin.
This change defines a new configuration that exposes the execution data
generated by Quarkus to the aggregation plugin.
|
|
This change updates the CI pipelines to test with the latest version of
Java (version 18).
|
|
This change updates the build script to use JaCoCo 0.8.8 for code
coverage instrumentation. This version adds support for Java 18 classes.
|
|
This change updates the web API to use Quarkus 2.8.1.Final. This release
fixes an issue we had with local extensions failing to build due to some
build directories missing.
|
|
This change updates the Kotlin version used by the build process of our
project to version 1.6.21.
|
|
This change updates the Node package manager used by the OpenDC web UI
build from Yarn to NPM, which is included by default in the Node
distributions that are used by node-gradle.
|
|
This change removes the use of lint-staged from the project. These steps
should be managed by the Gradle build logic, while we keep the Next.js
build logic as minimal as possible.
|
|
Bumps [mikepenz/action-junit-report](https://github.com/mikepenz/action-junit-report) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/mikepenz/action-junit-report/releases)
- [Commits](https://github.com/mikepenz/action-junit-report/compare/v3.0.1...v3.0.2)
---
updated-dependencies:
- dependency-name: mikepenz/action-junit-report
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2 to 3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2...v3)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 2 to 3.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v2...v3)
---
updated-dependencies:
- dependency-name: actions/setup-java
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
This pull request adds a Quarkus extension that integrates with the existing Quarkus web application to provide access to the OpenDC web UI. The benefit of this approach is that in this way, OpenDC can be distributed as a single JVM application to the user, which can host its own web UI directly.
Furthermore, this pull request also adds support for unauthenticated access to the API when accessing in dev mode, so that users do not have to setup Auth0 in order to use OpenDC locally.
## Implementation Notes :hammer_and_pick:
* Do not use next/image
* Migrate to next-global-css
* Update PatternFly to latest version
* Add Gradle integration with Next.js project
* Build web UI via Gradle
* Support building WebJar for OpenDC web UI
* Add extension for serving OpenDC web UI
* Include web UI in development mode
* Add workaround for Quarkus Gradle build issues
* Add support for unauthenticated user access
## External Dependencies :four_leaf_clover:
* [node-gradle](https://github.com/node-gradle/gradle-node-plugin)
|
|
This change updates the ESLint dependencies to operate correctly in
Windows environments.
|
|
This change updates the web UI and API to support unauthenticated user
access. Such functionality is helpful when there is just a single user
that wants to try OpenDC.
|
|
This chnage add a workaround for the issues that appear when building
the Quarkus application due to it accessing the build files of the other
local modules.
|
|
This change adds support for serving the web UI of OpenDC while in the
development mode of the API server.
|
|
This change adds a new Quarkus extension that is able to serve the
OpenDC web interface via the Quarkus deployment of OpenDC.
|
|
This change updates the build process to build a static WebJar out of
the OpenDC web UI module. This allows us to embed the UI inside the
development distribution of OpenDC for other users to readily deploy it.
|
|
This change updates the GitHub Actions pipeline to build the web UI via
Gradle instead of using Node.js directly.
|
|
This change adds support for building the OpenDC web interface project
that uses Next.js using Gradle. This enables a single build pipeline
using Gradle.
|
|
|
|
This change updates the web interface to use next-global-css instead of
next-transpile-modules. This approach is more efficient since it does
not require transpilation of the dependencies.
|
|
This change removes the use of next/image from the project. Although it
is recommended by the Next.js project to use this component, it is not
compatible currently with static export.
|
|
This pull request updates the build and runtime dependencies used by OpenDC to their latest version compatible with the project.
## Implementation Notes :hammer_and_pick:
* Update to Gradle 7.4.2
* Update to Kotlin 1.6.20
* Update runtime dependency versions
## External Dependencies :four_leaf_clover:
* Kotlin
* Gradle
* OpenTelemetry
* kotlin-coroutines
|
|
|
|
|
|
|
|
This pull request changes the web API to a Quarkus-based version. Currently, the OpenDC web API is written in Python (using Flask). Although Python is a powerful language to develop web services, having another language next to Kotlin/Java and JavaScript introduces some challenges.
For instance, the web API and UI lack integration with our Gradle-based build pipeline and require additional steps from the developer to start working with. Furthermore, deploying OpenDC requires having Python installed in addition to the JVM.
By converting the web API into a Quarkus application, we can enjoy further integration with our Gradle-based build pipeline and simplify the development/deployment process of OpenDC, by requiring only the JVM and Node to work with OpenDC.
## Implementation Notes :hammer_and_pick:
* Move build dependencies into version catalog
* Design unified communication protocol
* Add Quarkus API implementation
* Add new web client implementation
* Update runner to use new web client
* Fix compatibility with React.js UI
* Remove Python build steps from CI pipeline
* Update Docker deployment for new web API
* Remove obsolete database configuration
## External Dependencies :four_leaf_clover:
* Quarkus
## Breaking API Changes :warning:
* The new web API only supports SQL-based databases for storing user-data, as opposed to MongoDB currently. We intend to use H2 for development and Postgres for production.
|
|
This change updates the build script to fix the aggregation step for the
JaCoCo coverage reports that are submitted to Codecov. Previously, not
all modules were properly included in the report.
|
|
This change removes the API and simulator flags from the Codecov
configuration, since we have unified the simulator and web API.
|
|
This change updates the document outlining the architecture of OpenDC,
which does not use a Python-based web API anymore.
|
|
This change removes the obsolete Mongo database configuration that was
stored in the repository, now that the new web API migrates to Postgres.
|
|
This change updates the Docker deployment configuration for the new web
API implemented in Kotlin. The new API migrates to Postgres.
Furthermore, with this change, we move the Dockerfiles to their
corresponding module.
|
|
This change removes the Python build steps from the CI pipeline.
Previously, these steps were used to build the OpenDC API server that
was written in Python. With the migration to a Kotlin-based API, we can
unify the build steps in our pipeline.
|
|
This change updates the web interface in React to be compatible with the
new API written in Kotlin. Several changes have been made in the new API
to ensure consistency.
|
|
This change updates the web runner implementation to use the new API
client introduced in the previous commit.
|
|
This change implements a simple client for the OpenDC REST API into a
separate module. This allows other users to use this module as well.
|
|
This change adds support for dynamically selecting the appropriate JSON
type for the current database. For Postgres, this will be the JSONB
type, while for H2 this is either the BLOB or JSON type.
|
|
This change adds the initial implementation of the new API server in Kotlin,
replacing the old API written in Python. The implementation uses Quarkus,
RESTEasy, and Hibernate to implement the new API endpoints.
The reason for replacing the old API server is unifying the build and
deployment toolchains, reducing the number of technologies necessary to
work with OpenDC. Furthermore, we envision bundling the entire OpenDC
project into a single distributions, allowing users to launch their own
deployment trivially.
|
|
This change adds a unified communication protocol in form of the module
opendc-web-proto which contains the classes that form the communication
protocol of OpenDC's API v2.
By having the protocol in a separate module, we can utilize the classes
in both server and client.
|
|
This change moves build dependencies used by Gradle into the version catalog
to ensure a single location for all dependency versions.
|
|
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)
---
updated-dependencies:
- dependency-name: minimist
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
Bumps [mikepenz/action-junit-report](https://github.com/mikepenz/action-junit-report) from 2 to 3.0.1.
- [Release notes](https://github.com/mikepenz/action-junit-report/releases)
- [Commits](https://github.com/mikepenz/action-junit-report/compare/v2...v3.0.1)
---
updated-dependencies:
- dependency-name: mikepenz/action-junit-report
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2 to 3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2...v3)
---
updated-dependencies:
- dependency-name: actions/setup-node
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 3.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2...v3)
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|