shipit-cli 0.20.2__tar.gz → 0.21.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/PKG-INFO +1 -1
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/pyproject.toml +1 -1
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/assets/wordpress/install.sh +4 -1
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/builders/docker.py +18 -4
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/builders/local.py +34 -8
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/cli.py +367 -56
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/generator.py +15 -7
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/providers/base.py +23 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/providers/go.py +47 -14
- shipit_cli-0.21.1/src/shipit/providers/install_context.py +635 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/providers/node.py +130 -18
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/providers/node_static.py +5 -1
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/providers/python.py +72 -35
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/providers/staticfile.py +7 -3
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/runners/base.py +1 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/runners/local.py +15 -3
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/runners/wasmer.py +22 -18
- shipit_cli-0.21.1/src/shipit/version.py +5 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/volumes.py +27 -13
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/tests/test_cli_after_deploy.py +70 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/tests/test_generate_shipit_examples.py +21 -5
- shipit_cli-0.21.1/tests/test_install_context.py +233 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/tests/test_node_provider.py +22 -0
- shipit_cli-0.21.1/tests/test_subdir.py +735 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/tests/test_volumes.py +37 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/tests/test_wasmer_annotations.py +27 -5
- shipit_cli-0.20.2/src/shipit/version.py +0 -5
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/.gitignore +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/README.md +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/__init__.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/assets/node/optimize-node-modules.sh +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/assets/php/php.ini +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/assets/wordpress/.htaccess +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/assets/wordpress/start.php +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/assets/wordpress/wp-config.php +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/builders/__init__.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/builders/base.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/procfile.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/providers/hugo.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/providers/jekyll.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/providers/laravel.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/providers/mkdocs.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/providers/php.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/providers/registry.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/providers/wordpress.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/runners/__init__.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/shipit_types.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/ui.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/src/shipit/utils.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/tests/test_e2e.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/tests/test_node_static_provider.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/tests/test_php_provider.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/tests/test_staticfile_provider.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/tests/test_version.py +0 -0
- {shipit_cli-0.20.2 → shipit_cli-0.21.1}/tests/test_wordpress_phpix.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: shipit-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.21.1
|
|
4
4
|
Summary: Shipit CLI is the best way to build, serve and deploy your projects anywhere.
|
|
5
5
|
Project-URL: homepage, https://wasmer.io
|
|
6
6
|
Project-URL: repository, https://github.com/wasmerio/shipit
|
|
@@ -19,7 +19,10 @@ mkdir -p wp-content/upgrade
|
|
|
19
19
|
|
|
20
20
|
if [ -n "${WPCONTENT_BASE_PATH:-}" ] && [ -d "${WPCONTENT_BASE_PATH}" ]; then
|
|
21
21
|
shopt -s dotglob nullglob
|
|
22
|
-
|
|
22
|
+
# Note: change this back to copy all, once using the WP Zip files.
|
|
23
|
+
# cp -R "${WPCONTENT_BASE_PATH}"/* /app/wp-content || true
|
|
24
|
+
cp -R "${WPCONTENT_BASE_PATH}"/plugins/* /app/wp-content/plugins || true
|
|
25
|
+
cp -R "${WPCONTENT_BASE_PATH}"/themes/twentytwenty* /app/wp-content/themes || true
|
|
23
26
|
shopt -u dotglob nullglob
|
|
24
27
|
fi
|
|
25
28
|
|
|
@@ -45,12 +45,17 @@ class DockerBuildBackend:
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
def __init__(
|
|
48
|
-
self,
|
|
49
|
-
|
|
48
|
+
self,
|
|
49
|
+
src_dir: Path,
|
|
50
|
+
assets_path: Path,
|
|
51
|
+
docker_client: Optional[str] = None,
|
|
52
|
+
docker_opts: Optional[str] = None,
|
|
53
|
+
shipit_dir: Optional[Path] = None,
|
|
50
54
|
) -> None:
|
|
51
55
|
self.src_dir = src_dir
|
|
52
56
|
self.assets_path = assets_path
|
|
53
|
-
self.
|
|
57
|
+
self.shipit_dir = shipit_dir or self.src_dir / ".shipit"
|
|
58
|
+
self.docker_path = self.shipit_dir / "docker"
|
|
54
59
|
self.docker_path.mkdir(parents=True, exist_ok=True)
|
|
55
60
|
self.docker_out_path = self.docker_path / "out"
|
|
56
61
|
self.docker_file_path = self.docker_path / "Dockerfile"
|
|
@@ -77,7 +82,7 @@ class DockerBuildBackend:
|
|
|
77
82
|
return self.docker_out_path / self.get_mount_path(name)
|
|
78
83
|
|
|
79
84
|
def get_volume_path(self, name: str) -> Path:
|
|
80
|
-
return self.
|
|
85
|
+
return self.shipit_dir / "volumes" / name
|
|
81
86
|
|
|
82
87
|
@property
|
|
83
88
|
def is_depot(self) -> bool:
|
|
@@ -162,6 +167,15 @@ RUN curl https://mise.run | sh
|
|
|
162
167
|
docker_file_contents += f"WORKDIR {step.path.absolute()}\n"
|
|
163
168
|
elif isinstance(step, RunStep):
|
|
164
169
|
if step.inputs:
|
|
170
|
+
parents = sorted(
|
|
171
|
+
{
|
|
172
|
+
Path(input).parent.as_posix()
|
|
173
|
+
for input in step.inputs
|
|
174
|
+
if Path(input).parent != Path(".")
|
|
175
|
+
}
|
|
176
|
+
)
|
|
177
|
+
for parent in parents:
|
|
178
|
+
docker_file_contents += f"RUN mkdir -p {parent}\n"
|
|
165
179
|
pre = "\\\n " + "".join(
|
|
166
180
|
[
|
|
167
181
|
f"--mount=type=bind,source={input},target={input} \\\n "
|
|
@@ -25,10 +25,16 @@ from shipit.utils import download_file
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
class LocalBuildBackend:
|
|
28
|
-
def __init__(
|
|
28
|
+
def __init__(
|
|
29
|
+
self,
|
|
30
|
+
src_dir: Path,
|
|
31
|
+
assets_path: Path,
|
|
32
|
+
shipit_dir: Optional[Path] = None,
|
|
33
|
+
) -> None:
|
|
29
34
|
self.src_dir = src_dir
|
|
30
35
|
self.assets_path = assets_path
|
|
31
|
-
self.
|
|
36
|
+
self.shipit_dir = shipit_dir or self.src_dir / ".shipit"
|
|
37
|
+
self.local_path = self.shipit_dir / "local"
|
|
32
38
|
self.build_path = self.local_path / "build"
|
|
33
39
|
self.workdir = self.build_path
|
|
34
40
|
self.runtime_path: Optional[str] = None
|
|
@@ -46,7 +52,7 @@ class LocalBuildBackend:
|
|
|
46
52
|
return self.get_mount_path(name)
|
|
47
53
|
|
|
48
54
|
def get_volume_path(self, name: str) -> Path:
|
|
49
|
-
return self.
|
|
55
|
+
return self.shipit_dir / "volumes" / name
|
|
50
56
|
|
|
51
57
|
def execute_step(self, step: Step, env: Dict[str, str]) -> None:
|
|
52
58
|
build_path = self.workdir
|
|
@@ -62,8 +68,14 @@ class LocalBuildBackend:
|
|
|
62
68
|
extra = ""
|
|
63
69
|
if step.inputs:
|
|
64
70
|
for input in step.inputs:
|
|
65
|
-
|
|
66
|
-
|
|
71
|
+
source = self.src_dir / input
|
|
72
|
+
target = build_path / input
|
|
73
|
+
console.print(f"Copying {input} to {target}")
|
|
74
|
+
target.parent.mkdir(parents=True, exist_ok=True)
|
|
75
|
+
if source.is_dir():
|
|
76
|
+
shutil.copytree(source, target, dirs_exist_ok=True)
|
|
77
|
+
else:
|
|
78
|
+
shutil.copy(source, target)
|
|
67
79
|
all_inputs = ", ".join(step.inputs)
|
|
68
80
|
extra = f" [bright_black]# using {all_inputs}[/bright_black]"
|
|
69
81
|
console.print(
|
|
@@ -113,11 +125,25 @@ class LocalBuildBackend:
|
|
|
113
125
|
raise Exception(f"Unknown base: {step.base}")
|
|
114
126
|
|
|
115
127
|
console.print(
|
|
116
|
-
|
|
128
|
+
"[bold]Copy to "
|
|
129
|
+
f"{step.target} from {step.source}[/bold]{ignore_extra}"
|
|
117
130
|
)
|
|
118
131
|
|
|
119
|
-
|
|
120
|
-
|
|
132
|
+
source_path = Path(step.source)
|
|
133
|
+
target_path = Path(step.target)
|
|
134
|
+
source = (
|
|
135
|
+
source_path
|
|
136
|
+
if source_path.is_absolute()
|
|
137
|
+
else base / source_path
|
|
138
|
+
)
|
|
139
|
+
target = (
|
|
140
|
+
target_path
|
|
141
|
+
if target_path.is_absolute()
|
|
142
|
+
else build_path / target_path
|
|
143
|
+
)
|
|
144
|
+
if source.resolve(strict=False) == target.resolve(strict=False):
|
|
145
|
+
return
|
|
146
|
+
target.parent.mkdir(parents=True, exist_ok=True)
|
|
121
147
|
if source.is_dir():
|
|
122
148
|
shutil.copytree(
|
|
123
149
|
source,
|