name: Laravel 1Panel Release description: Atomically deploy a Laravel release to a 1Panel PHP container. inputs: source-dir: description: Repository-relative Laravel source directory. required: true deploy-root: description: Host deployment root. required: true container-deploy-root: description: Deployment root as mounted inside the PHP container. required: true php-container: description: 1Panel PHP container name. required: true healthcheck-url: description: HTTPS Laravel health-check URL. required: true backup-command: description: Server-side database backup command. required: true release-id: description: Unique release identifier. required: true keep-releases: description: Number of releases to retain. required: false default: "5" runs: using: composite steps: - name: Deploy release shell: bash env: SOURCE_DIR: ${{ gitea.workspace }}/${{ inputs.source-dir }} DEPLOY_ROOT: ${{ inputs.deploy-root }} CONTAINER_DEPLOY_ROOT: ${{ inputs.container-deploy-root }} PHP_CONTAINER: ${{ inputs.php-container }} HEALTHCHECK_URL: ${{ inputs.healthcheck-url }} BACKUP_COMMAND: ${{ inputs.backup-command }} RELEASE_ID: ${{ inputs.release-id }} KEEP_RELEASES: ${{ inputs.keep-releases }} run: '"$GITHUB_ACTION_PATH/deploy-release.sh"'