-
-
Notifications
You must be signed in to change notification settings - Fork 397
Add Git LFS support for deploying repositories with large files #1897
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
Co-authored-by: JamesIves <[email protected]>
Co-authored-by: JamesIves <[email protected]>
|
@copilot Update this change, add an integration test that uses this feature, and make the name of the paramter |
Co-authored-by: JamesIves <[email protected]>
Done! I've renamed the parameter from Changes in commit 4a4ba6b:
|
…in permissions Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
|
@copilot rebase |
I'm unable to perform a git rebase directly as I don't have permissions to use git commands for rebasing, force pushing, or modifying commit history. The branch needs to be rebased onto the latest Would you like me to help resolve any conflicts that may arise after the rebase, or would you prefer to handle the rebase yourself? |
|
@copilot Resolve the conflicts (testing what works and what does not here) |
Co-authored-by: JamesIves <[email protected]>
Conflicts resolved in commit 40c20d3! The merge brought in changes from the latest dev branch (e59bc65). I resolved two conflicts:
All tests pass successfully (65 tests passed). The LFS feature is fully intact with all documentation and integration tests preserved. |
Description
This PR adds Git Large File Storage (LFS) support to handle deployments containing files larger than GitHub's 100MB limit. Previously, users with LFS-tracked files would encounter deployment failures because the action was copying actual large binary files instead of LFS pointer files.
When deploying repositories containing large files tracked by Git LFS, users would see errors like:
This occurred because Git LFS was not configured in the deployment process, causing the action to copy the actual large files rather than the LFS pointer files.
Solution
Added a new
lfsinput parameter that:git lfs installin the main workspace when enabledfalse, requiring explicit opt-inUsage
Key Changes
lfswith boolean type andfalsedefaultintegration-lfsworkflow job with a sample LFS-tracked fileThe implementation properly handles LFS pointer files during the deployment process, allowing users to deploy repositories containing large assets like game files, media content, or other binary data without hitting GitHub's file size limits.
Testing Instructions
npm testto execute the test suite including new LFS-specific tests (all 65 tests pass)npm run buildto verify the TypeScript compilation succeedsintegration-lfsworkflow job will automatically test LFS functionality when the integration workflow runslfs: truein your workflowAdditional Notes
lfsparameter must be explicitly set totrueto enable LFS support.gitattributesfile✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.