Minimal Documentation Lynfera

Git Integrations

GitHub

View App

Lynfera automatically performs a build every time you push code to GitHub.

Supported GitHub Products

Lynfera supports both personal GitHub accounts and organizations. However, Lynfera is optimized for small to medium-sized projects and individual developers.

Organization Limitations: While you can connect organization repositories, some GitHub organization features may not work as expected. For example, repositories requiring admin approval or specific organization-level permissions may fail to connect or deploy. These are limitations imposed by GitHub's permission model, not Lynfera.

Lynfera currently supports:

Deploying a GitHub repository

Setting up your GitHub repository on Lynfera is as simple as clicking the New Project button on the top right of your dashboard.

After clicking, if your GitHub repository doesn't appear, you'll see a Connect button to link your account. Otherwise, a list of Git repositories your account has read access to will be displayed.

If your GitHub repository still doesn't show up, you can configure it through the Lynfera GitHub App by using the Configure link on the /new page and selecting the repositories via the GitHub UI.

Deploying private Git repositories

You can deploy private GitHub repositories as long as you've granted access to them via the GitHub UI for the Lynfera GitHub App.

Lynfera GitHub App permissions

Lynfera GitHub App only requires the following permissions:

  • Read access to code and metadata

Deploy Behaviour

Lynfera starts a new deploy as soon as you push to your repositories. But triggering a new deploy comes with some conditions.

Lynfera only starts a new deploy only if :

  • Directory Match: Changes occur within the defined Project.RootDir.
  • Global Threshold: If the total number of changes (modifications/deletions) across the entire repository exceeds 100, a deploy is triggered regardless of the directory.
  • Active Status: The project is not in a disabled state.
  • Branch Match: The push occurs on the project's configured Branch.
  • Setting Enabled: AutoDeployEnabled is set to true in your settings.

To overide these condition view Deploy Controls

Monorepo & Root Directory

If your GitHub repository contains multiple projects, you can specify which folder to deploy using the Project.RootDir setting in your project configuration.

By default, Lynfera only triggers a build if changes are detected within the specified Root Directory. Changes made to files outside of this directory (such as documentation or other sub-projects) will be ignored unless they meet the global change threshold.

Deploy Controls

By default Lynfera starts a new deploy only starts a new deploy if the above conditions are met.

But you can override those by setting keywords in your last commit.

  • Force Deploy: Include the string '[force-deploy]' to trigger a new deploy. This will override all file-based and change-based checks..

  • Skip Deploy: Include the string '[skip-ci]' to skip a new deploy. This will skip the deploy.

Make sure to include these keywords in the last commit you are pushing; otherwise, they will be ignored.

Tracking Deployment Progress

Lynfera integrates with GitHub to show real-time deployment status directly in your commit history and pull requests.

GitHub Status Checks:

  • Orange icon - Build in progress
  • Blue checkmark - Deployment successful
  • Red X - Build failed

You can also monitor detailed build progress in the Deployments tab of your Lynfera dashboard, where you'll find logs, build output, and deployment history for every push.

Git Submodules

Lynfera does not support Git submodules.

When your repository is cloned for deployment, submodules will not be initialized or pulled. Ensure all necessary code and dependencies are contained within the main repository.

Handling Deployment Failures

Sometimes, deployments may fail due to various reasons such as:

  • Limited runners available for processing the build.
  • The maximum number of concurrent builds has been reached.
  • Maximum concurrent builds per user have been exceeded.
  • The project is currently in a QUEUED or BUILDING state.
  • The user has reached their daily deployment limit.
  • Internal server errors or unexpected issues.

In any of these cases, a **failed deployment** will be created when a webhook request is received. This ensures that you are notified that a deployment was attempted but could not run due to the above limits or errors.

Important: No changes will be made to the project itself—the current state of your project remains unchanged. The failed deployment serves purely as a notification.

Fixing Connection Issues / Transfers

If you rename your repository or transfer it, the webhook connection may fail. To reset the connection:

  1. Visit your GitHub Applications Settings.
  2. Find the Lynfera GitHub App and remove its access to the specific repository or uninstall it.
  3. Return to the Lynfera dashboard and reconnect the repository to establish a fresh webhook.

Removing GitHub App

You can remove the GitHub App by visiting the Users page and just clicking the remove button.

Important

Removing the GitHub App will set all your connected projects to a Disconnected state.

You can reconnect by linking your account again and granting repository access.

Removing GitHub connection from Lynfera will also cause it to remove it from your GitHub installations list at installations.

Enjoying the docs? If our platform has been helpful, consider giving us a ⭐ on GitHub — it is really appreciated!

⭐ Star us on GitHub