Code Monkey home page Code Monkey logo

kotlin-quarkus-realworld-example-app's People

Contributors

dekan avatar hientranea avatar u-ways avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

kotlin-quarkus-realworld-example-app's Issues

Upgrade to Java 21

The project currently runs on Java 11, however the latest LTS is Java 21. Therefore it would be nice to run this realworld example on the latest Java LTS. The requirements are:

  • Upgrade Kotlin version to latest stable release that supports 21 (1.9.20)
  • Upgrade Gradle JVM target to 21. (Which means upgrade Gradle to 8.4)
  • Upgrade Docker files to use Java 21 openjdk.
  • Upgrade CI pipeline to build and test the project to Java 21.
  • Fix any breaking changes due to the JVM upgrade.

"Resource not accessible by integration"

When a new contributor works on a CICD ticket that requires new write permission to the workflow it seems that the job fails with the error:

"Resource not accessible by integration"

See: https://github.com/u-ways/kotlin-quarkus-realworld-example-app/actions/runs/3174636971

This issue seems to be a common one and is referenced in here: actions/first-interaction#10

This happens as soon as the person creating the PR does not have permission to the repository.

One possible solution is to use a bot to run the actions that should have the right permissions. See: Boring Cyborg

Is there an easier fix or should we implement that?

Set up Github Actions Continuous Integration

Setup GitHub Actions Continuous Integration to run our linter and all of our tests on commit. For more information, please see: GitHub docs - Quickstart for GitHub Actions

CI requirements

Extra if you're looking for a harder challenge (otherwise I will raise this as a separate issue)

Integrate with a Kotlin linter

It would be nice to have a linter to keep the project as consistent as possible. A widely popular Kotlin linter is Pinterest's ktlint. It has a built-in rule sets, formatter tasks, reporters, and allows extension with custom rule sets and reporters.

Requirements

  • Set CI to run the linter after tests has passed. (must be a Makefile recipe)
  • Provide an .editorconfig to allow IDE users adhere to the standards for a smoother dev experience.

Please see the user guide for further details.

Make project Hacktoberfest-ready

Prepare your project for contributions by following these best practices:

  • Add the “hacktoberfest” topic to your repository to OPT-IN TO HACKTOBERFEST and indicate you’re looking for contributions.
  • Apply the “hacktoberfest” label to issues you want contributors to help with in your GitHub or GitLab project.
  • Add a CONTRIBUTING.md file with contribution guidelines to your repository.
  • Choose issues that have a well-defined scope and are self-contained.
  • Adopt a code of conduct to create a greater sense of inclusion and community for contributors.
  • Be ready to review pull/merge requests, accepting those that are valid by merging them, leaving an overall approving review, or by adding the “hacktoberfest-accepted” label.
  • Reject any spammy requests you receive by labeling them as “spam,” and any other invalid contributions by closing them or labeling them as “invalid.”

For further details, see: https://hacktoberfest.com/participation/#maintainers

Add Gradle refreshVersions bot

Instead of manually updating the dependencies and their versions, it would be desirable to integrate the Gradle refreshVersions dependency within the CICD pipeline. For further details, please see: Gradle refreshVersions

Requirements:

Please ensure that the build CI passes if you upgraded any dependencies (i.e. resolve any breaking changes if you want to upgrade any versions as part of this ticket)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.