Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#2161] One-Stop Config File for Code Portfolio #2192

Open
wants to merge 22 commits into
base: master
Choose a base branch
from

Conversation

georgetayqy
Copy link
Contributor

@georgetayqy georgetayqy commented Apr 15, 2024

Part of #2161

Proposed commit message

Currently, `report-config.json` is underutilised (it is only used for
defining report titles). However, considering the code portfolio
feature, we need to implement a config file that allows users to
quickly set up and deploy it to their favourite platform to host
websites.

Let's move to repurpose `report-config.json` into a YAML file that
users can use it to set up configs to build their code portfolio more
easily.

Other information

Requires CI/CD to be updated to Java 11:

@github-actions github-actions bot requested a deployment to dashboard-2192 April 15, 2024 06:42 Abandoned
@github-actions github-actions bot requested a deployment to docs-2192 April 15, 2024 06:42 Abandoned
@georgetayqy georgetayqy requested a review from a team April 16, 2024 06:49
docs/ug/configFiles.md Outdated Show resolved Hide resolved
@jonasongg jonasongg requested review from a team April 18, 2024 17:55
@github-actions github-actions bot requested a deployment to dashboard-2192 April 27, 2024 07:32 Abandoned
@github-actions github-actions bot requested a deployment to docs-2192 April 27, 2024 07:32 Abandoned
@github-actions github-actions bot requested a deployment to dashboard-2192 April 27, 2024 08:22 Abandoned
@github-actions github-actions bot requested a deployment to docs-2192 April 27, 2024 08:22 Abandoned
@github-actions github-actions bot requested a deployment to dashboard-2192 May 6, 2024 11:56 Abandoned
@github-actions github-actions bot requested a deployment to docs-2192 May 6, 2024 11:56 Abandoned
@github-actions github-actions bot requested a deployment to dashboard-2192 May 7, 2024 04:16 Abandoned
@github-actions github-actions bot requested a deployment to docs-2192 May 7, 2024 04:16 Abandoned
@github-actions github-actions bot requested a deployment to dashboard-2192 May 7, 2024 04:48 Abandoned
@github-actions github-actions bot requested a deployment to docs-2192 May 7, 2024 04:48 Abandoned
Copy link
Contributor

@jonasongg jonasongg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Member

@ckcherry23 ckcherry23 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work on the YAML config file @asdfghjkxd! I have some questions and left them as comments below.

config/report-config.yaml Outdated Show resolved Hide resolved
config/report-config.yaml Outdated Show resolved Hide resolved
docs/ug/configFiles.md Show resolved Hide resolved
@@ -107,12 +107,22 @@ e.g.: `example.java` in `example-repo` can either be in the `test` group or the

<!-- ==================================================================================================== -->

## `report-config.json`
## `report-config.yaml`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we also update the --config flag under 'CLI syntax reference' to include report-config.yaml instead of json? https://docs-2192-pr-reposense-reposense.surge.sh/ug/cli.html#config-c

Let's also update the 'Customize using CSV config files' heading on the 'Customizing Reports` page to include YAML or remove file types entirely. https://docs-2192-pr-reposense-reposense.surge.sh/ug/customizingReports.html#customize-using-csv-config-files

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will do!

Comment on lines 12 to 30
public static final List<String> DEFAULT_FILE_FORMATS = List.of(
"override:java", "md", "fxml"
);
public static final List<String> DEFAULT_IGNORE_GLOB_LIST = List.of(
"docs**"
);
public static final List<String> DEFAULT_IGNORE_COMMITS_LIST = List.of(
"2fb6b9b2dd9fa40bf0f9815da2cb0ae8731436c7",
"c5a6dc774e22099cd9ddeb0faff1e75f9cf4f151",
"cd7f610e0becbdf331d5231887d8010a689f87c7",
"768015345e70f06add2a8b7d1f901dc07bf70582"
);
public static final List<String> DEFAULT_IGNORE_AUTHORS_LIST = List.of(
"author1",
"author2"
);
public static final boolean DEFAULT_IS_FIND_PREVIOUS_AUTHOR = false;
public static final boolean DEFAULT_IS_SHALLOW_CLONING = true;
public static final boolean DEFAULT_IS_IGNORE_STANDALONE_CONFIG = true;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if we need these hardcoded default values here? Check for this in the other files inside reportconfig/ too.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe they are present for testing purposes (creating default instances), but I will have to check before reverting back to you!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If they're just for tests, could we move them into the test files like we do for test defaults for the other classes? It doesn't seem like these values are useful defaults outside of the tests.

@ckcherry23 ckcherry23 requested a review from a team May 11, 2024 20:03
@georgetayqy
Copy link
Contributor Author

georgetayqy commented Jul 15, 2024

@gok99 @damithc The feature is still being worked on at the moment (I have not finalised the precedence to read in config files/CLI arguments, and subsequently have not updated tests and test resources), but I would like to confirm with you that:

  1. For blurbs
    1. If blurbs are specified in the one-stop config file and in blurbs.md, blurbs.md is prioritised
    2. If blurbs are not specified in the one-stop config file but are specified in blurbs.md, blurbs.md is prioritised
    3. If blurbs are specified in the one-stop config file but are not specified in blurbs.md, the one-stop config file is prioritised
    4. If blurbs are not specified at all, then neither are prioritised and BlurbMap is empty
  2. For the precedence of configurations for the application, it is: one-stop > CLI (repos are specified in the CLI argument) > CLI (repos and settings specified in config files)

Thank you!

@gok99
Copy link
Contributor

gok99 commented Jul 23, 2024

@asdfghjkxd

  1. For blurbs ...

To clarify, blurbs can be specified in one-stop config (inclusive) or blurbs.md. If the blurb is specified in only one of the two for a given repository, we take that one. If it specified in both for a given repository, we take the one in blurbs.md. So, it is possible for users to specify blurbs in both the one-stop config and blurbs.md depending on the level of detail they want.

  1. For the precedence of configurations for the application, it is: one-stop > CLI (repos are specified in the CLI argument) > CLI (repos and settings specified in config files)

I was imagining that the one-stop config would go in the config directory and the precedence being: CLI > one-stop (+ blurbs.md) if present > csv configs (+ blurbs.md) otherwise and if present. Let me know what you think of this.

@georgetayqy
Copy link
Contributor Author

Hi @gok99, thank you for the clarification!

Concerning the precedence of the configuration, I believe that your suggestions make sense; the CLI should have the greatest precedence among all other repo configurations.

Will work on this in the coming weeks!

Copy link
Contributor

Hi,
We are going to mark this PR as stale because it has been inactive for the past 30 days.
If no further activity occurs within the following 7 days, it will be automatically closed so that others can take up the issue.
If you are still working on this PR, please make a follow-up commit within 7 days and leave a comment to remove the stale label.
Do let us know if you are stuck so that we can help you!'

@github-actions github-actions bot added the Stale label Sep 14, 2024
Copy link
Contributor

This PR was closed because it has been marked as stale for 7 days with no activity.
Feel free to reopen this PR if you would like to continue working on it.

Copy link
Contributor

Hi,
We are going to mark this PR as stale because it has been inactive for the past 30 days.
If no further activity occurs within the following 7 days, it will be automatically closed so that others can take up the issue.
If you are still working on this PR, please make a follow-up commit within 7 days and leave a comment to remove the stale label.
Do let us know if you are stuck so that we can help you!'

@github-actions github-actions bot added the Stale label Oct 22, 2024
@gok99 gok99 removed the Stale label Oct 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants