Releases: JohanDevl/Export_Trakt_4_Letterboxd
Release v1.0.10
Release v1.0.10
This release was automatically generated from PR #10: Improve GitHub Actions release workflow
Changes included:
Changes
This PR improves the GitHub Actions workflow to create a single release when merging to main:
- Creates a single release per merged PR
- Automatically includes PR description in the release notes
- Exports Docker image as a release asset
- Fixes context access issues by using file-based approach for release body creation
Technical Details
- Added step to fetch PR information when merging to main
- Replaced environment variable usage with file-based approach
- Added step to create a properly formatted release body
- Configures the release to be created only on merges to main branch
These changes ensure we have a single, well-documented release for each merged PR with the Docker image included as an asset.
Merged by:
Release v1.0.9
Release v1.0.9
This release was automatically generated from PR #9: Fix CSV Export Format and Docker Option Handling
Changes included:
Problems Solved
This PR addresses several issues and adds new features:
- The Docker container did not correctly process the export options
- The CSV file format needed to be corrected to match Letterboxd requirements
- Added a Rewatch column to indicate movies that have been watched multiple times
Changes Made
Docker-related fixes:
- Modified the
Dockerfileto setEXPORT_OPTION=\"normal\"as the default value (changed from "complete") - Added debugging information to help diagnose option processing issues
- Simplified the export option handling in the script
CSV Export Fixes:
- Corrected the CSV format to match Letterboxd import requirements with headers:
Title, Year, imdbID, tmdbID, WatchedDate, Rating10 - Fixed the date format in the output to use YYYY-MM-DD format instead of the full ISO timestamp
- Corrected the IMDB ID prefix handling to prevent duplicate "tt" prefixes (tttt→tt)
- Ensured proper quoting of movie titles in the CSV output
New Feature - Rewatch Column:
- Added a
Rewatchcolumn that indicates whether a movie has been watched multiple times (true) or only once (false) - Used data from the
watched_movies.jsonfile to determine the number of viewings - Fixed a bug related to movies without IMDb IDs (null values)
Impact
- The CSV file now correctly matches Letterboxd's import format
- Docker containers use the "normal" export option by default for smaller output
- More reliable CSV file generation during scheduled executions
- Better debug information when troubleshooting export problems
- Better utilization of Trakt data to enrich the Letterboxd import file
Testing
These changes have been tested by manually running the Docker container and verifying that the options are correctly processed, producing correctly formatted CSV files.
When merging this PR, the Docker image will be automatically built with these fixes applied.
Merged by:
Release v1.0.8
Release v1.0.8
This release was automatically generated from PR #8: Add README badges and Docker image to GitHub releases
Changes included:
Problem Solved
This PR adds project badges to README.md and implements GitHub release functionality that automatically attaches the Docker image as a release asset when merges to the main branch occur.
Changes Made
-
Added multiple badges to README.md to provide better project status visibility:
- GitHub release badge
- Stars and issues counters
- License badge
- Docker build status
- Docker package link
- Repository size badge
- Trakt.tv and Letterboxd badges
-
Modified GitHub Actions workflow to:
- Export the Docker image as a tarball
- Create a GitHub release when code is merged into main branch
- Attach the Docker image as a release asset
- Add instructions for using the Docker image in the release notes
Impact
- Improved README presentation with informative badges
- Automated GitHub releases with properly versioned tags
- Made Docker images directly downloadable as release assets
- Added clear instructions for Docker image usage in release notes
Testing
These changes don't affect the core functionality of the application. The workflow changes will be tested automatically on the next merge to the main branch.
Merged by:
Release v1.0.7
Release v1.0.7
This release was automatically generated from PR #7: Fix Docker permissions for CSV file export
Changes included:
Problem Solved
This PR resolves an issue where the letterboxd_import.csv file was not being properly created or updated when running in Docker.
Changes Made
- Updated the
Dockerfileto explicitly set directory permissions (chmod 777) on volume-mounted folders. - Modified
docker-entrypoint.shto ensure permissions are correct at container startup. - Added a GitHub Actions workflow to deploy a GitHub Pages site.
Impact
- The script now runs correctly
- The CSV file is generated in the
/app/copydirectory of the container - The file is properly synchronized with the host's
copy/directory thanks to the mounted volume - The file permissions (-rwxrwxrwx) allow all users to read and modify it
Merged by:
Release v1.0.6
Release v1.0.6
This release was automatically generated from PR #6: Exclude Markdown files from triggering GitHub Actions workflows
Changes included:
Pull Request: Exclude Markdown files from triggering GitHub Actions workflows
Description
This Pull Request modifies the GitHub Actions workflows to prevent them from being triggered when only Markdown files (.md), documentation files in the docs/ directory, or the LICENSE file are changed. This optimization helps conserve GitHub Actions minutes and speeds up the development process for documentation-only changes.
Changes
- Added
paths-ignoreconfiguration to all three workflow files:docker-test.ymldocker-publish.ymlauto-tag.yml
- Configured each workflow to ignore:
- All Markdown files (
**/*.md) - All files in the documentation directory (
docs/**) - The LICENSE file
- All Markdown files (
Motivation
When making documentation-only changes, there's no need to run the full CI/CD pipeline, including Docker image builds and tests. This change makes the development workflow more efficient by skipping unnecessary builds and tests when only documentation is modified.
Testing
The changes have been tested by verifying that:
- The syntax of the workflow files is valid
- The
paths-ignorepatterns correctly match the intended files - The configuration is consistent across all workflow files
Related Issues
This change addresses the need to optimize GitHub Actions usage and improve the development workflow for documentation updates.
Additional Notes
After this change, you can freely update documentation without triggering the CI/CD pipeline. If you need to force a workflow run for documentation changes, you can make a small non-documentation change or manually trigger the workflow from the GitHub Actions UI.
Merged by:
Release v1.0.5
Release v1.0.5
This release was automatically generated from PR #5: Change 'complet' to 'complete' for consistency
Changes included:
Pull Request: Change 'complet' to 'complete' for consistency
Description
This Pull Request changes the French term "complet" to its English equivalent "complete" throughout the codebase for better linguistic consistency and to fix issues with the complete export option.
Changes
- Modified
Export_Trakt_4_Letterboxd.shto use "complete" instead of "complet" in conditional statements - Updated
docker-entrypoint.shhelp message to display "complete" instead of "complet" - Updated documentation in
README.mdto reflect the correct option name - Updated export option descriptions in
CONFIGURATION.mdandDOCKER_USAGE.md
Motivation
The codebase was inconsistently using both "complet" (French) and "complete" (English) in different places, which could cause confusion and potential bugs when users tried to use the complete export option. This PR standardizes on the English term "complete" throughout the codebase.
Testing
- Verified that the "complete" export option works correctly
- Confirmed that all documentation consistently refers to the option as "complete"
- Tested that the Docker container correctly displays "complete" in the help message
Related Issues
Fixes an inconsistency where the export option was referred to as both "complet" and "complete" in different parts of the codebase.
Merged by:
Release v1.0.4
Release v1.0.4
This release was automatically generated from PR #4: Documentation Improvements and Docker Issue Fixes
Changes included:
Summary of Changes
This PR includes several important improvements to the documentation and fixes various Docker-related issues.
1. Documentation Reorganization
- Simplified README.md: The README has been significantly streamlined to contain only essential information, making it more accessible to new users.
- Detailed Documentation Creation: Added two new documentation files in the
docs/folder:CONFIGURATION.md: Detailed guide on configuration and basic usageDOCKER_USAGE.md: Comprehensive guide on Docker usage
2. Docker Fixes
- Configuration File Management: Modified the
docker-entrypoint.shscript to dynamically create the.config.cfg.examplefile in theconfig/folder at container startup. - Container Persistence: Fixed the issue where the container would stop immediately after startup by using
tail -f /dev/nullto keep the process alive. - Structure Simplification: Removed unnecessary copying of the configuration file to the container root, keeping everything in the
config/folder. - Configuration Harmonization: Aligned the configuration file format and variable names between the example file and the actual implementation to ensure consistency.
3. Configuration Script Enhancement
- Added Trakt Username: Modified the
setup_trakt.shscript to prompt for and save the Trakt username during configuration. - Variable Name Consistency: Ensured that variable names are consistent between the configuration file and the scripts that use them.
4. Testing Workflow Improvements
- Fixed Docker Testing Workflow: Resolved issues in the GitHub Actions workflow that tests the Docker image:
- Fixed the error where the container would exit with code 137
- Modified the test approach to avoid running the entrypoint script directly
- Added better error handling and fallbacks
Impact of Changes
These modifications significantly improve the user experience by:
- Making documentation clearer and better organized
- Resolving Docker container startup and shutdown issues
- Simplifying the configuration process
- Ensuring consistency between configuration files and scripts
- Making the testing workflow more reliable
Tests Performed
- Verified dynamic creation of the configuration file
- Tested Docker container persistence
- Validated the configuration process with Trakt username
- Confirmed that the Docker testing workflow runs successfully
Detailed Changes
- README.md: Simplified and reorganized, with detailed information moved to dedicated documentation files.
- docker-entrypoint.sh:
- Updated to create a consistent configuration example file
- Modified to keep the container running with
tail -f /dev/null
- setup_trakt.sh:
- Updated to use consistent variable names (
USERNAMEinstead ofTRAKT_USERNAME)
- Updated to use consistent variable names (
- docker-test.yml:
- Fixed to prevent infinite loops and exit code 137 errors
- Improved error handling and test reliability
- New Documentation Files:
- Added detailed guides for configuration and Docker usage
Merged by:
Release v1.0.3
Release v1.0.3
This release was automatically generated from PR #3: Documentation Improvements and Docker Issue Fixes
Changes included:
Summary of Changes
This PR brings several important improvements to the documentation and fixes Docker-related issues.
1. Documentation Reorganization
- Simplified README.md: The README has been significantly streamlined to contain only essential information, making it more accessible to new users.
- Detailed Documentation Creation: Added two new documentation files in the
docs/folder:CONFIGURATION.md: Detailed guide on configuration and basic usageDOCKER_USAGE.md: Comprehensive guide on Docker usage
2. Docker Fixes
- Configuration File Management: Modified the
docker-entrypoint.shscript to dynamically create the.config.cfg.examplefile in theconfig/folder at container startup. - Container Persistence: Fixed the issue where the container would stop immediately after startup by using
tail -f /dev/nullto keep the process alive. - Structure Simplification: Removed unnecessary copying of the configuration file to the container root, keeping everything in the
config/folder.
3. Configuration Script Enhancement
- Added Trakt Username: Modified the
setup_trakt.shscript to prompt for and save the Trakt username during configuration.
Impact of Changes
These modifications significantly improve the user experience by:
- Making documentation clearer and better organized
- Resolving Docker container startup and shutdown issues
- Simplifying the configuration process
Tests Performed
- Verified dynamic creation of the configuration file
- Tested Docker container persistence
- Validated the configuration process with Trakt username
Screenshots (if applicable)
N/A
Merged by:
Release v1.0.2
Release v1.0.2
This release was automatically generated from PR #2: Docker Implementation with Enhanced Cron Functionality
Changes included:
Docker Implementation with Enhanced Features
Overview
This PR implements comprehensive Docker support with automated cron job functionality, improved testing, and enhanced CI/CD capabilities for the Trakt to Letterboxd export process. The implementation focuses on reliability, user experience, and proper testing to ensure smooth operation in containerized environments.
Key Features
Docker Implementation
- Created a robust Docker setup using Alpine Linux for minimal image size
- Implemented proper volume management for persistent data storage
- Added configuration handling with dedicated config directory
- Modified scripts to work correctly in containerized environments
- Added comprehensive documentation for Docker usage
Cron Job Automation
- Implemented configurable cron scheduling via environment variables
- Created a wrapper script with detailed logging capabilities
- Added user-friendly log messages with emojis and timestamps
- Ensured proper error handling and reporting
- Configured dual logging (container stdout and detailed log file)
CI/CD Enhancements
- Added GitHub Actions workflow for Docker image building and publishing
- Implemented automatic tagging with
latestanddeveloptags - Created automated Docker testing workflow for Pull Requests
- Added automatic version tagging when PRs are merged
- Configured comprehensive test suite for Docker images
Documentation
- Updated README with detailed Docker usage instructions
- Added cron job configuration examples
- Created troubleshooting section for common issues
- Added GitHub Actions workflow documentation
- Created Docker testing documentation
- Implemented MIT license
Testing
The implementation has been thoroughly tested with:
- Automated Docker image tests
- Various export options and cron schedules
- Volume mounting and configuration handling
- Docker Compose validation
All components function as expected, with proper logging and error handling.
Documentation
New documentation files:
docs/GITHUB_ACTIONS.md: Details on the GitHub Actions workflowsdocs/AUTO_TAGGING.md: Information on automatic version taggingdocs/DOCKER_TESTING.md: Documentation on Docker testing workflow
This PR is ready for review and should be merged into the main branch to provide users with Docker support, automated export capabilities, and improved CI/CD features.
Merged by:
Release v1.0.1
Release v1.0.1
This release was automatically generated from PR #1: Docker Implementation with Enhanced Cron Functionality
Changes included:
Docker Implementation with Enhanced Cron Functionality
Overview
This PR implements comprehensive Docker support with automated cron job functionality for the Trakt to Letterboxd export process. The implementation focuses on reliability, user experience, and proper logging to ensure smooth operation in containerized environments.
Key Features
Docker Implementation
- Created a robust Docker setup using Alpine Linux for minimal image size
- Implemented proper volume management for persistent data storage
- Added configuration handling with dedicated config directory
- Modified scripts to work correctly in containerized environments
- Added comprehensive documentation for Docker usage
Cron Job Automation
- Implemented configurable cron scheduling via environment variables
- Created a wrapper script with detailed logging capabilities
- Added user-friendly log messages with emojis and timestamps
- Ensured proper error handling and reporting
- Configured dual logging (container stdout and detailed log file)
Documentation
- Updated README with detailed Docker usage instructions
- Added cron job configuration examples
- Created troubleshooting section for common issues
- Added GitHub Actions workflow documentation
- Implemented MIT license
CI/CD
- Tagged development version for automated builds
- Configured GitHub Actions workflow for container publishing