This is a GitHub Action that automates FTP and FTPS file transfers, enabling continuous deployment directly from a repository. Triggered by code pushes or other repository events, it reads server credentials exclusively from encrypted GitHub Secrets to keep access credentials secure. The action supports both deploying files and previewing what changes would occur before applying them.
Built for reliable synchronization, the action computes a minimal set of upload and deletion operations by comparing the local file tree against the remote directory structure. It transfers files sequentially over a persistent control connection, and its dry-run simulation mode shows the expected changes without executing any network writes. Both FTP and FTPS connections are handled, with support for passive and active modes.
The action covers the full FTP deployment workflow: uploading application files, synchronising local and remote directories, previewing changes before syncing, and deploying static sites. It operates as a self-contained event-triggered execution, receiving all configuration through environment variables.