summaryrefslogtreecommitdiff
path: root/.github
AgeCommit message (Collapse)Author
2021-10-25ci: Fix release workflowFabian Mastenbroek
This change fixes an issue with a missing whitespace in the release workflow, causing the workflow to not be parsed correctly.
2021-09-28build: Increase Java requirement to version 11Fabian Mastenbroek
This change updates the Gradle configuration to target Java 11 (instead of Java 8) as the lowest denominator when building OpenDC. Since the project has not yet been adopted by (many) other applications, we should not restrict the project to such an old Java version.
2021-07-05ui: Fix linting errorsFabian Mastenbroek
2021-06-24ci: Build pushes to master branchFabian Mastenbroek
This change updates the build workflow to trigger on pushes to the master branch. We previously removed this trigger to reduce the number of CI builds when merging changes into the master branch. However, with the integration of Codecov as well as the caching steps in the workflow, it makes sense to build every push to the master branch.
2021-06-22ci: Optimize Gradle build performance in Github ActionsFabian Mastenbroek
This change updates the Github Actions Gradle workflows in order to improve the runtime performance of these workflows. We have now enabled build caching as well as parallel builds to speed up the build process. Moreover, we now cache the Gradle wrapper.
2021-06-08ci: Test simulator on WindowsFabian Mastenbroek
This change adds Windows as CI target for the OpenDC simulator in order to test that the simulator works on all major platforms.
2021-06-01ci: Fix code coverage reporting for web APIFabian Mastenbroek
This change updates the build workflow to properly report the code coverage reports of the web API to Codecov.
2021-05-18Migrate to Auth0 as Identity ProviderFabian Mastenbroek
This pull request removes the hard dependency on Google for authenticating users and migrates to Auth0 as Identity Provider for OpenDC. This has as benefit that we can authenticate users without having to manage user data ourselves and do not have a dependency on Google accounts anymore. - Frontend cleanup: - Use CSS modules everywhere to encapsulate the styling of React components. - Perform all communication in the frontend via the REST API (as opposed to WebSockets). The original approach was aimed at collaborative editing, but made normal operations harder to implement and debug. If we want to implement collaborative editing in the future, we can expose only a small WebSocket API specifically for collaborative editing. - Move to FontAwesome 5 (using the official React libraries) - Use Reactstrap where possible. Previously, we mixed raw Bootstrap classes with Reactstrap, which is confusing. - Reduce the scope of the Redux state. Some state in the frontend application can be kept locally and does not need to be managed by Redux. - Migrate from Create React App (CRA) to Next.js since it allows us to pre-render multiple pages as well as opt-in to Server Side Rendering. - Remove the Google login and use Auth0 for authentication now. - Use Node 16 - Backend cleanup: - Remove Socket.IO endpoint from backend, since it is not needed by the frontend anymore. Removing it reduces the attack surface of OpenDC as well as the maintenance efforts. - Use Auth0 JWT token for authorizing API accesses - Refactor API endpoints to use Flask Restful as opposed to our custom in-house routing logic. Previously, this was needed to support the Socket.IO endpoint, but increases maintenance effort. - Expose Swagger UI from API - Use Python 3.9 and uwsgi to host Flask application - Actualize OpenAPI schema and update to version 3.0. **Breaking API Changes** * This pull request removes the users collection from the database table. Instead, we now use the user identifier passed by Auth0 to identify the data that belongs to a user.
2021-05-18api: Upgrade to Python 3.9 as defaultFabian Mastenbroek
This change updates the API server to run by default using Python 3.9.
2021-05-18ci: Update to Java 16Fabian Mastenbroek
This change switches one of the CI builds to use Java 16 when building and testing the simulator.
2021-05-17ui: Migrate from CRA to Next.jsFabian Mastenbroek
This change updates the web frontend to use Next.js instead of Create React App (CRA). Next.js enables the possibility of rendering pages on the server side (which reduces the time to first frame) and overall provides a better development experience. Future commits will try to futher optimize the implementation for Next.js.
2021-05-10ci: Support pushing images with docker/build-push-action@v2Fabian Mastenbroek
This change updates the publish workflow to support pushing images with the new docker/build-push-action version.
2021-05-06ci: Use docker/build-push-action@v2Fabian Mastenbroek
This change updates the publish workflow to use docker/build-push-action@v2. The previous version is deprecated and does not support some of the parameters that we need.
2021-05-06ci: Create draft release on tag pushFabian Mastenbroek
This change updates the release workflow to create a draft release when a new tag is pushed. This allows us to write a release description as well as organize the publication of the components on Maven Central, etc.
2021-05-06ci: Reference correct secret for GPG passphraseFabian Mastenbroek
2021-05-06ci: Add workflow step for publishing release to Maven CentralFabian Mastenbroek
This change adds a workflow step that publishes the release to Maven Central using Gradle.
2021-05-05ci: Add workflow for publishing Docker imagesFabian Mastenbroek
This change adds a new Github Actions workflow that publishes the Docker images on publication of a new Github release.
2021-05-05ci: Add workflow for releasesFabian Mastenbroek
This change adds a new Github Actions workflow that is triggered when a new tag is pushed. This workflow will automatically build the project and create a new Github release.
2021-05-03ci: Merge CI builds into single workflowFabian Mastenbroek
This change merges the three CI builds for the simulator, frontend and API into a single workflow that builds the components in separate, independent jobs.
2021-04-25ci: Fix references to frontend and API modulesFabian Mastenbroek
This change fixes the references to the frontend and API modules that were invalidated due to the restructuring of project in the previous commit.
2021-03-20ci: Add reports and coverage tracking for APIFabian Mastenbroek
2021-03-20ci: Generate test reports for CI buildsFabian Mastenbroek
This change updates the Github Actions workflow configuration to generate test reports for the simulator CI builds.
2021-03-20ci: Add Codecov support to repositoryFabian Mastenbroek
This change enables Codecov coverage reports when building changes.
2021-03-20ci: Enable stricter CI triggersFabian Mastenbroek
This change will cause the CI to only trigger when opening a pull request.
2021-03-15ci: Update deployment workflowFabian Mastenbroek
This change updates the deployment workflow for opendc.org due to changes on the server.
2021-03-02Add a simple PR template (#78)Hongyu
This change adds a simple template for pull request which we can use as basis for future pull requests.
2020-11-03Test frontend using Node 14 in Github ActionsFabian Mastenbroek
2020-11-03Test Java 8 and Java 15 in CI pipelineFabian Mastenbroek
This change updates the Github Actions workflow for the simulator to test both Java 8 and Java 15.
2020-11-03Run all CI build pipelines on pull requestFabian Mastenbroek
2020-10-28Add workflow for deploying to opendc.orgFabian Mastenbroek
This change adds a workflow to the repository which will automate the deployment to opendc.org in case of new changes. The production version will live on the prod branch. Implements #33
2020-08-24Fix conditional Github Actions triggerFabian Mastenbroek
This change fixes the conditional Github Actions trigger that we use to only trigger CI invocations for the changed subprojects. Previously, Github Actions was only triggered when a file in the top-level directory of the subproject was changed.
2020-08-24Rename web-server to APIFabian Mastenbroek
This change renames the web-server component to API in order to be more descriptive of its role. The OpenDC API bridges between the frontend on one side and the database and simulator on the other side.
2020-08-24Run CI only if necessaryFabian Mastenbroek
This pull request selectively enables the build workflows for the three subproject based on the changed files in the commit.
2020-08-24Simplify workflowsFabian Mastenbroek
2020-08-24Add config for simulator CIFabian Mastenbroek
2020-08-24Add frontend CIGeorgios Andreadis
2020-08-24Try different scriptGeorgios Andreadis
2020-08-24Add a web server CI setupGeorgios Andreadis