Download the PHP package sagor/github-updater without Composer
On this page you can find all versions of the php package sagor/github-updater. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package github-updater
GithubUpdater for Laravel
Automated GitHub repository updates and Artisan command deployment pipeline for Laravel.
๐ Overview
sagor/github-updater is a high-performance Laravel package designed to simplify and automate repository pulling and post-update deployment tasks. With support for Laravel 5.5 up to Laravel 13.x and PHP 7.2 through PHP 8.4+, it provides a seamless way to pull updates from private or public GitHub repositories and execute chained Artisan commands (migrations, seeders, cache clearing, optimization) in a single action.
Whether triggered via Artisan CLI or the built-in Web Terminal route (with real-time streaming output), github-updater ensures your application stays updated effortlessly.
โจ Features
- ๐ Universal Compatibility: Full support for Laravel versions
5.5,5.8,6.x,7.x,8.x,9.x,10.x,11.x,12.x, and13.x. - ๐ Modern & Legacy PHP Support: Tested and compatible across PHP
7.2,7.4,8.0,8.1,8.2,8.3, and8.4+. - ๐ Secure Authentication: Supports Personal Access Tokens (PAT) and custom repository URLs.
- โก Artisan Command Chaining: Run multiple Artisan tasks sequentially after pull (e.g.,
migrate --force,db:seed,config:cache). - ๐ฅ๏ธ Web Terminal UI: Built-in dark-themed web terminal output with real-time autoscrolling logs.
- ๐ป Console Integration: Dedicated
php artisan github:pullcommand for server scripts and CRON tasks. - ๐ฆ Zero-Config Auto Discovery: Automatically registers package service providers and aliases.
๐๏ธ Architecture & Execution Flow
The following diagram illustrates how requests flow through GithubUpdater:
๐ Compatibility Matrix
| Technology | Supported Versions | Notes |
|---|---|---|
| Laravel Framework | ^5.5, ^5.8, ^6.0, ^7.0, ^8.0, ^9.0, ^10.0, ^11.0, ^12.0, ^13.0 |
Full backward & forward compatibility |
| PHP Runtime | ^7.2, ^7.4, ^8.0, ^8.1, ^8.2, ^8.3, ^8.4+ |
Handles cross-version polyfills & processes |
| Symfony Process | ~3.4, ^4.4, ^5.0, ^6.0, ^7.0, ^8.0 |
Adapts dynamically to installed Symfony components |
๐ฅ Installation
Install the package into your Laravel project using Composer:
Service Provider Registration
For Laravel projects using Package Auto-Discovery, the service provider will automatically register.
If auto-discovery is disabled in your project, manually add GithubUpdaterServiceProvider to the providers array in config/app.php:
โ๏ธ Configuration
Publish the package configuration file to your application's config/ directory:
Or target the specific provider:
This creates config/github-updater.php:
Environment Variables (.env)
Add and configure the following variables in your project's .env file:
โ ๏ธ Security Reminder: Never commit your
GITHUB_TOKENto version control. Always set it inside server.envfiles.
๐ Usage
1. CLI Artisan Command
To perform an update directly from the command line or CI/CD deployment scripts:
What it does:
- Connects to GitHub using your configured authentication parameters.
- Executes
git pullfrom the remote repository branch. - Sequentially executes all Artisan commands listed in
ARTISAN_COMMANDS. - Outputs execution progress directly to stdout.
2. Web Interface (/github-pull)
Access the streaming terminal interface via browser:
Interface Highlights:
- Custom terminal dark mode container.
- ASCII Banner display.
- Real-time line-by-line output streaming with autoscroll support.
Customizing Middleware & Route Security
By default, the /github-pull route uses the web middleware group. To restrict access to authorized users or admins, group the route in your routes/web.php file:
๐ Security Best Practices
- Protect Web Routes: Always wrap
/github-pullwith authentication middleware (auth, admin roles) to prevent unauthorized execution. - Token Permissions: Scope your GitHub Personal Access Token (PAT) with minimum required permissions (
repo:status,repo_deployment, orcontents:read). - Environment Security: Keep
.envpermissions strict (chmod 600 .env) on production servers.
๐งช Testing
The package includes a full PHPUnit test suite using Orchestra Testbench. To run unit and feature tests:
Test Coverage Includes:
- Service Provider Registration & Config Merging.
- Named Route Binding (
github.pull). - Artisan Command Registration (
github:pull).
๐ License
The MIT License (MIT). Please see LICENSE for more information.
๐จโ๐ป Author & Support
Developed and maintained by Md Sagor Hossain ([email protected]).
- GitHub: @moh-sagor
- Repository: github.com/moh-sagor/github-updater
If you find this package helpful, please give it a โญ๏ธ on GitHub!
All versions of github-updater with dependencies
symfony/process Version ~3.4 || ^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0
illuminate/support Version ^5.5 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0