nkanaev / yarr

yet another rss reader
MIT License
2.96k stars 224 forks source link

Refactor and new flag added #142

Closed junland closed 1 year ago

junland commented 1 year ago

I wanted to establish two separate Yarr instances running concurrently, each with its own set of users. To distinguish between these instances, I introduced a feature that allows injecting distinct HTML title names for both the application and login pages. Additionally, I made the decision to refactor the entire codebase while ensuring minimal disruption for current / future maintainers.

Here's a run through of what was done:

  1. Separated Build and Release pipelines into separate files for better organization.
  2. Updated shared workflow versions to eliminate warnings.
  3. Separated Build and Release pipelines into separate files for better organization.
  4. Updated .github/workflows/main.yml to build binaries for the master, main, develop, and dev branches on both push and pull requests.
  5. Modified .github/workflows/release.yml to build binaries and create a draft release if a tag matches the pattern 'v*.' or 'v..'.
  6. Updated pipelines to use Go 1.17 for building the project to meet dependency requirements.
  7. Bumped the MacOS "runs-on" version to the next version, as version 10.x is now deprecated.
  8. Bumped the Ubuntu "runs-on" version to the next version, as version 18.04 is now deprecated.
  9. Renamed files to follow best practices and improve conciseness.
  10. Updated documentation to reflect changes in output file names.
  11. Removed the vendor directory, as it is unnecessary for hosting.
  12. Refactored the Makefile to adhere to best practices and improve conciseness.
  13. Set the minimum required Go version to 1.17 to align with dependency requirements.
  14. Changed the naming scheme for release artifacts to use ...-<os>-<goarch>.zip format instead of the old ...-<os>64.zip format.
  15. Updated pipelines to use the GitHub CLI for creating the draft release and uploading final release binaries. This change is necessary as the actions/create-release and actions/upload-release-asset actions are now deprecated.
  16. Implemented a feature to customize the title of the served webpage using -title flag or YARR_TITLE environment variable (defaulting to "Yarr!").
  17. Prefixed the login page title with "- Login," resulting in "Yarr! - Login" when authentication file or username:password is passed via the command line.
  18. Removed src/systray tests as they require a future rewrite and were causing failures in the Windows pipeline.

Let me know if you have any questions.

nkanaev commented 1 year ago

Hi, @junland . I appreciate your effort, but the changes are huge and disruptive for the current maintainer (me).

junland commented 1 year ago

Hi, @junland . I appreciate your effort, but the changes are huge and disruptive for the current maintainer (me).

No worries, thanks!