Merged
Conversation
Release v1.8.0 to Production
Release v2.0.1
Task: Release v2.0.4
Task: Release v2.0.6
This PR significantly enhances the application by refining the structured JSON logging, introduces test processes in git hooks, updating dependencies, and improving the overall code quality. The modifications are structured to improve observability, enforce testing robustness before operations, and ensure alignment with the latest versions of core libraries. ## Changes - Integrated logging module for centralized logging functionality across the application. - Refines the structured JSON logging for improved logging clarity and consistency. - Refactored git hooks for better handling of test processes during commits and pushes. - Updated Rubocop configuration, including relaxing some style checks and adding more exclusions. - Modified the ApplicationController to include response logging and error handling enhancements. - Updated dependencies across the board, including Rails upgrade to version 8.0.2. ## Impact - Logging is now more structured and consistent, improving system observability. - Behavior of error logs and notifications is more robust and informative, especially in error handling scenarios. - Commits and pushes now better ensure that all relevant tests pass, reducing the risk of integration issues. - Rails and other dependencies have been brought up to their latest stable versions, offering performance improvements and new features. - Performance implications appear positive due to the streamlined logging and updated dependencies.
This pull request introduces several enhancements and optimizations across the codebase, focusing on Docker configuration, environment handling, dependency updates, and logging improvements. The most significant changes include refactoring the `Dockerfile` for better build efficiency, introducing an `EnvironmentHelper` module to dynamically display the current environment in the UI, updating Ruby and Alpine versions, and improving logging in the `entrypoint.sh` script. This update will also pull in the latest version of the Common Styles gem which contains the updated Google Tag ID changes specific to [ticket 154](epimorphics/hmlr-linked-data#154) ### Docker and Build Configuration: * Refactored `Dockerfile` to optimize build efficiency by introducing multi-stage builds, defaulting environment variables (`RUBY_VERSION=3.4.4`, `ALPINE_VERSION=3.22`, `BUNDLER_VERSION=2.6.9`), and refining network settings. Added caching improvements with `apk add --no-cache`. [[1]](diffhunk://#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557L1-R57) [[2]](diffhunk://#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557L59-R80) * Updated `Makefile` to align with new Docker defaults, including `RUN_VARS` for container execution options. [[1]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L4-R4) [[2]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R14) [[3]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L83-R84) ### Environment Handling: * Introduced `EnvironmentHelper` module to dynamically display the current environment in the UI, defaulting to "development" if not set. Integrated this helper into multiple views (`app/views/doc`, `app/views/landing`, and `app/views/exceptions`). [[1]](diffhunk://#diff-78ca57c006755fb71c083c7dd3f78c6edacb06d2cf21c28d1cf4955b804d7cd7R1-R29) [[2]](diffhunk://#diff-41c5a9a1004b81a734ac1449bcde79539f9b2b54a5dede1e3f1d025508de27ceR1-R2) [[3]](diffhunk://#diff-a07e1491b7bc80bf2a86a3505063c640f2104f15f234f056b3b9969b59fb7a4fR2) [[4]](diffhunk://#diff-765ffe3e11c070073fb5ab0bc40853d8bea9cbecc0d107e2e95aa62adc5b32e2R2-R3) [[5]](diffhunk://#diff-b0ffc1ea36abc27eee7aa8703acced64e4c70427f60189eddff4fa98b7e6c730R1-R2) [[6]](diffhunk://#diff-b7b0908ecea9d210cac475cb692d898d4690e6ff895693fbebd4b674dc3e517dR3) [[7]](diffhunk://#diff-ee216474375428c9d1109f0149e3119b6f237fe1feedcd336e9080942d8c8fe9R2-R3) [[8]](diffhunk://#diff-7132550ef9e811884a567f8df98047375c6967e02e21696964e03317480f1d80R1-R2) ### Dependency Updates: * Updated Ruby version to `3.4.4` in `.ruby-version` and `Dockerfile` to ensure compatibility and performance. [[1]](diffhunk://#diff-1bdb3279c7718f7037156f83c80eb81c58d37b286e027219e055b76249082264L1-R1) [[2]](diffhunk://#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557L1-R57) * Updated Alpine version to `3.22` in `Makefile` and `Dockerfile`. (F6b869d0L1, [DockerfileL1-R57](diffhunk://#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557L1-R57)) ### Logging Improvements: * Enhanced logging in `entrypoint.sh` by adding checks for `SENTRY_API_KEY`, `API_SERVICE_URL`, and `RAILS_RELATIVE_URL_ROOT` environment variables, providing better operational clarity. ### Codebase Enhancements: * Introduced helper methods in `EnvironmentHelper` to display environment-specific labels and titles in the UI. * Updated `CHANGELOG.md` to reflect new features and optimizations in version `2.1.1`.
This pull request introduces several improvements across documentation, development tooling, automation scripts, and configuration files. The most notable changes include enhanced documentation for git hooks, improved automation logic to skip checks for markdown-only commits, updates to the Makefile for better asset and Docker management, and dependency upgrades for development tools and gems. **Automation and Developer Tooling Improvements:** * Added a comprehensive `.githooks/README.md` to document the setup and usage of git hooks, including instructions for skipping hooks and branch-specific exclusions. * Updated `.githooks/pre-push` to automatically skip checks when only markdown files are staged, reducing unnecessary build and test runs for documentation-only changes. * Refined Docker build and run logic in `.githooks/pre-push` to use Makefile targets for container management and improved wait logic, replacing manual sleep and stop commands with `make run` and `make stop`. **Makefile and Build System Enhancements:** * Major Makefile refactor: improved asset handling, streamlined clean commands, added new targets (`forceclean`, `name`, `version`), and updated environment variable management for Docker and Rails. [[1]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L13-R66) [[2]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R76-R114) [[3]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R125-R134) [[4]](diffhunk://#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L1-R1) * Updated default API service URL and asset precompilation commands for consistency and reliability. **Dependency and Configuration Updates:** * Added new development gems (`ruby-lsp`, `solargraph`, and `meta_request`) to the `Gemfile` for enhanced editor integration and Rails debugging. * Corrected `.rubocop.yml` plugin configuration for compatibility with the latest RuboCop releases. * Upgraded Rails and related gems, synchronized dependency constraints, and bumped project version to `2.2.1`. [[1]](diffhunk://#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4edR8-R40) [[2]](diffhunk://#diff-0518574840e0c8e03c05369a2f262cf286de4b57955e6408973a1b8bbf7c3effL5-R5) **Documentation and Test Improvements:** * Fixed links to the Price Paid Data detailed documentation in both English and Welsh landing pages. [[1]](diffhunk://#diff-cb7ff03a7044630f3d2ef45c8d84cd816f2d9a26b34b8e87648e9f319a502253L96-R96) [[2]](diffhunk://#diff-1cf2f02b0fcf12c0b8f0844d7ed44e0dcc1fdd59f6c4bc0f42ed54568bc373e8L95-R95) * Updated integration tests to include language parameters for documentation and landing page routes, ensuring correct rendering and version visibility. [[1]](diffhunk://#diff-08b0145efb4f579d6a0a1335615c35efb1e9e522b842cdeed503ee940d173be5L18-R23) [[2]](diffhunk://#diff-9a1f073cc20b371ce6406f129fe4578a24c6721195b735f1b55a28fb9c8a987fL20-R20)
Due to changes in the http client, faraday, the Qonsole data is not being parsed correctly and preventing the qonsole editor to return the expected JSON format response. This hotfix locks the Qonsole gem to a working version. Further investigation will be conducted via ticket [85](epimorphics/qonsole-rails#85)
- Switches to an older version of a key HTTP client and its adapters - Updates dependencies to maintain compatibility with previous major version - Adjusts related dependencies for request middleware and connections - Updates a dependent module to match new requirement constraints - Adds and removes associated supporting gems as needed
- Updates patch number to reflect latest fixes - Prepares for release with recent adjustments
Due to changes in the http client, faraday, the Qonsole data is not being parsed correctly and preventing the qonsole editor to return the expected JSON format response. This hotfix locks the Qonsole gem to a working version. Further investigation will be conducted via ticket [85](epimorphics/qonsole-rails#85)
This pull request updates the application to version 2.2.2 and focuses on resolving a JSON response issue by upgrading a dependency, as well as improving the consistency of font sizing in the SPARQL Qonsole interface. The most important changes are grouped below: **Dependency and Version Updates** * Updated to use the latest `Qonsole-rails` gem (v2.2.1) to fix a JSON response issue in the SPARQL Qonsole. (`CHANGELOG.md`) * Bumped the application version to 2.2.2 in `app/lib/version.rb`. **UI Consistency Improvements** * Added a CSS variable for the base font size and applied it to headings and labels in the Qonsole interface for improved consistency. (`app/assets/stylesheets/application.scss`)
This pull request prepares a new minor release (v2.2.4), with fixes for the following tickets: - #163 - #194 This is a release PR, so just needs sign-off. Use `git merge --ff-only` if possible. All changes can be found in the [CHANGELOG](https://github.com/epimorphics/lr-landing/blob/8327372bd1b6d4ac8380876b8dc093f8475e493a/CHANGELOG.md)
## What's Changed - Migrated from `sass-rails` to `dartsass-sprockets` (Dart Sass) to keep CSS compilation supported long term [#158](#158) - Replaced `bootstrap-sass` with Bootstrap framework dependencies; refreshed asset loading order for better performance - Enabled Autoprefixer source maps for clearer CSS debugging in development - Simplified Rails framework loading and Sass configuration for the new build toolchain **Full Changelog:** v2.2.4...v2.3.0
- updates text in error pages for clarity. - expands acronyms for even more clarity.
- implements common utilities for git hooks - refactors pre-commit hook for code linting with rubocop - refactors post-commit hook for running tests - refactors pre-push hook for building and running docker images - automates testing and build processes
- Uses `ENV.fetch` for `SENTRY_API_KEY` to handle potential nil values. - Removes redundant conditional check for `SENTRY_API_KEY`. - Ensures Sentry is always initialised as dependent on API Key (DSN)
- Enhances error logging for improved debugging. - Adjusts resource usage logging for development environments. - Standardises rendering of error pages by removing underscores.
- Uses file existence check for yarn instead of command availability. - Adds flag to bundle outdated to check only explicit dependencies.
- Refines the message displayed during asset precompilation for clarity.
- updates gem dependencies to their latest compatible versions
- upgrades puma and puma-metrics gems.
- upgrades jquery-rails dependency to the latest patch version
- updates sentry-rails and sentry-ruby gems - ensures compatibility with railties version greater than 5.2.0
- Updates to the new Sentry SDK logger configuration.
- upgrades development gems and dependencies to their new versions
- uses `||:` to ignore the exit code of the command.
- upgrades byebug gem to version 13.0.0 - ensures compatibility with reline gem
- updates the rubocop-rails gem to the latest minor version.
- adds `all` target to the list of .PHONY targets to ensure it always runs - adds new make targets for coverage, local development, and versioning - updates dependency checking to be informational - enhances asset compilation and clean-up processes - modifies the handling of outdated bundler dependencies to prevent errors during builds - provides a means to view test coverage reports in a browser - improves help message output with aws profile status
- corrects the API service URL to point to the data-api service - ensures the pre-push hook uses the correct endpoint for data access
- removed targetRubyVersion as it's set from the .ruby-version file - reordered rules to follow current alphanumeric sorting conventions - adds specific enforced style to ensure rubocop adheres to default
- introduces simplecov for test coverage reporting - configures simplecov to exclude certain directories - adds coverage target to the makefile to allow ease of report view Resolves #207
- Upgrades development and runtime dependencies for improved compatibility and stability. - Refactors Sentry initialisation and updates logger configuration. - Modernises the build process and unifies Makefile targets. - Adds test coverage reporting with SimpleCov. - Handles non-zero exit codes during dependency checks. - Improves git hooks for pre-commit/pre-push workflow. - Fixes hooks API service URL. - Addresses security and compatibility issues in third-party libraries. - Reconciles divergent branches and consolidates dependency updates (#206). - Adds test coverage reporting (#207).
- updates ffi to v1.17.3 and haml to v7.2.0 - removes unused bootstrap and modernizr dependencies. - updates temple to v0.10.4 and prism to v1.9.0
- Uses a forked version of jquery-datatables-rails. - Includes a fix not yet merged into the main repo. - Avoids potential issues related to unmerged changes.
- adds the jquery-datatables-rails gem fork at version 3.5.0. - aligns dependency versions for lr_common_styles version 3.0.1 to ensure compatibility. - upgrades qonsole_rails to version 2.4.1.
- Updates google-protobuf, rbs, rubocop, and sass-embedded dependencies
Small maintenance changes: dependency bumps (including internal gems), test coverage, Makefile/build improvements, Sentry/logging tweaks, and minor bug fixes. See `CHANGELOG.md` for full details. What changed: - Added SimpleCov-based test coverage and a `coverage` Makefile target. [#207](#207) - Reconciled divergent branches and consolidated dependency updates. [#206](#206) - Upgraded `rubocop` and adjusted lint configuration. [#208](#208) - Bumped development tooling (`byebug`, `solargraph`, `ruby-lsp`) and runtime libs (`jquery-rails`, `puma`, Rails). [#201](#201) - Updated Epimorphics internal gem versions to consume recent improvements. - Refactored Sentry initialisation and updated logger configuration. - Improved asset pipeline messaging and Makefile targets. - Fixed `bundle outdated` non-zero exit handling, git hooks, and exception message wording. Testing / Checklist: - [x] Ran test suite locally - [x] Viewed coverage report via `make coverage` - [x] Verified app boots locally and key pages render - [x] Confirmed `bundle install` and asset precompile run without regressions
- removed development gem due to conflicting dependencies
- Bump minor and patch versions for stability and security - Align with latest Rack 3.2.x for better compatibility - Remove unused middleware no longer compatible with Rack 3 - Make dependency-only updates; no app code changes - Keep runtime behaviour unchanged and reduce audit noise
- Note upgrade of `qonsole-rails` gem to v2.4.2 for a11y fixes - Surface accessibility improvements in dependency notes - Support dependency status audit by documenting bump
Update Ruby dependencies to improve accessibility, stability, and compatibility; removed an obsolete development dependency to reduce maintenance overhead. ## What's changed: - Upgraded the `qonsole_rails` dependency, bringing in the latest accessibility fixes to improve usability - Updated multiple libraries to their latest patch versions to maintain compatibility and reduce security risk - Removed an unmaintained development tool that relied on outdated middleware, avoiding potential Rack conflicts - Updated release notes to record the accessibility-focused upgrade
- Fix spacing typo in 400 error message - Replace HPI/PPD acronyms with full names in 403 message
- Prepare 2.3.1 notes to support upcoming release
Prepared the 2.3.1 patch release by updating the version, adding release notes, and fixing user-facing error page wording for clarity and consistency. ## What's changed: - Bumped application version to 2.3.1 for a patch release - Corrected error page text and expanded product names in messages - Documented the 2.3.1 release notes in the changelog
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a release PR, so the code doesn't need review, only the approval of the following updates.
Use
git merge --ff-onlyif possiblegit pull origin [target]git checkout [target]git merge --ff-only [primary]git push -u origin [target]What's changed for v2.3.1 - 2026-02
Added
coverageMakefile target.#207
Changed
v2.4.2
rubocopand updated linting configuration.#208
byebug,solargraph, andruby-lsp.#208
jquery-rails,puma, and Rails forcompatibility and stability.
#201
#206
Fixed
bundle outdatedduring dependency checks.Security
issues.