Skip to content
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

Build Isolation and Manifests #918

Merged
merged 4 commits into from
Sep 24, 2023
Merged

Build Isolation and Manifests #918

merged 4 commits into from
Sep 24, 2023

Conversation

vyzo
Copy link
Collaborator

@vyzo vyzo commented Sep 24, 2023

This addresses the global-vs-local state madness with .gerbil:
When we are in local package context, we create a new local .gerbil to use for the build, which gives us isolation.
We also create manifests for all the individual packages, so that we can get meaningful error reports.

On top of #916.
See also #651

Operate certain commands in the local env; the others default to
global, but can also operate locally with a flag.
@vyzo vyzo requested a review from fare September 24, 2023 00:29
@netlify
Copy link

netlify bot commented Sep 24, 2023

Deploy Preview for elastic-ritchie-8f47f9 ready!

Name Link
🔨 Latest commit d388ca9
🔍 Latest deploy log https://app.netlify.com/sites/elastic-ritchie-8f47f9/deploys/650f82e324e8aa0008f4b1c1
😎 Deploy Preview https://deploy-preview-918--elastic-ritchie-8f47f9.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@vyzo vyzo changed the base branch from master to gxpkg-to-the-future September 24, 2023 00:29
src/tools/gxpkg.ss Outdated Show resolved Hide resolved
src/tools/gxpkg.ss Show resolved Hide resolved
src/tools/gxpkg.ss Show resolved Hide resolved
src/tools/gxpkg.ss Show resolved Hide resolved
On top of #918 

Adds documentation for the drastic changes in gxpkg.
@vyzo vyzo merged commit 5addc4c into gxpkg-to-the-future Sep 24, 2023
@vyzo vyzo deleted the build-isolation branch September 24, 2023 15:18
vyzo added a commit that referenced this pull request Sep 24, 2023
Drastically improves gxpkg:
- Directories:
  - update for the new directory format
  - add mighty-gerbils as the default directory
- add a `dir` subcommand to manage the user directory, most notably add
new directories saved in `{GERBIL_PATH|~/.gerbil}/pkg/directory-list`
- Dependency Management
- adds a new deps subcommand to manage the dependencies of the current
package/project
- Package Versioning with git tags
- understands the `@tag` suffix in packages to mean "a git checkoutable
thing"
- implements (non strict) semver for choice of package when there is a
version conflict. This is non strict in the sense that it always chooses
the highest version, without putting a minor cap. We have discussed this
behaviour with fare, belmarca and feeley and we concluded that it is
better to put a subpackage `v2` into your package once you are out of
v1. Anyhow, I am happy with what we have now, but we can revisit in the
future.
- Package build isolation and build manifests
- each project is assembled in its own local GERBIL_PATH (unless the
user has explicitly set GERBIL_PATH) to avoid interference from dirty
`~/.gerbil`.
- each build has a manifest that record the exact dependencies at the
time of build.

See #899
See #780 
Closes #703 
Closes #895 
Closes #899 


TBD:
- [x] build isolation: #918 
- [x] documentation: #919
- [ ] more testing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants