initial support for .tag files for native isolation #334
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Added support for default solution tag for
push
,validate
and a few others to be taken from a.tag
file in the solution directory, similar to.env
files. This default tag eliminates the need to always specify the--tag
value when pushing developer-specific solution versions, reducing effort and likelihood of mistakes. In addition, the use ofFSOC_SOLUTION_TAG
environment variable is now extended to solutions with native isolation.The tag priority, from highest to lowest:
--tag=value
(or--stable
, which means--tag=stable
)FSOC_SOLUTION_TAG
set to a non-empty tag value.tag
file in the same directory as the solution manifestNote that this default tag applies only to commands that (a) need a tag value and (b) rely on the presence of a solution in the directory (i.e., manifest and objects). This specifically excludes commands, such as
subscribe
, which also take tags but don't need local solution files, as well as commands likesolution extend
, which require local files but not tags.Note that the
.tag
file is a developer convenience (just like the environment variable) and, as such, will not be included in solution's bundle. Additionally, as the workflow intent is for.tag
files to be local/per developer, fsoc will warn if the.tag
file in the solution is not excluded in .gitignore (in cases the solution is in a git repo), to reduce the chance of inadvertently checking the.tag
file into the solution repo.The support for
.tag
file is also propagated to pseudo-isolated solutions, in order to allow moving away from env.json-type files and aligning with native isolation. For pseudo-isolation, which is now deprecated and new solutions should not use, the priorities include:...
1.5. Explicit flag
--env-file
...
4. Presence of
env.json
in the solution root directory.Note that support for env files remains available only for pseudo-isolation and is expected to be removed with it. This streamlines the tag support and also avoids conflict and confusion with
env/
directory files used in native isolation.This is a non-breaking change.
Type of Change
Checklist