shipit-cli 0.22.0__tar.gz → 0.22.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.22.0 → shipit_cli-0.22.1}/PKG-INFO +1 -1
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/pyproject.toml +1 -1
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/runners/wasmer.py +38 -1
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/version.py +1 -1
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_wasmer_annotations.py +49 -3
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/.gitignore +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/README.md +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/__init__.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/assets/node/optimize-node-modules.sh +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/assets/php/php.ini +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/assets/wordpress/.htaccess +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/assets/wordpress/install.sh +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/assets/wordpress/start.php +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/assets/wordpress/wp-config.php +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/builders/__init__.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/builders/base.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/builders/docker.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/builders/local.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/cli.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/evaluator.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/generator.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/procfile.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/providers/base.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/providers/go.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/providers/hugo.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/providers/install_context.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/providers/jekyll.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/providers/laravel.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/providers/mkdocs.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/providers/node.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/providers/node_static.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/providers/php.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/providers/python.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/providers/registry.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/providers/staticfile.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/providers/wordpress.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/runners/__init__.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/runners/base.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/runners/local.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/shipit_types.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/starlark_loader.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/starlib/prelude.shipit +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/starlib/serve.shipit +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/starlib/tools/go.shipit +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/starlib/tools/hugo.shipit +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/starlib/tools/jekyll.shipit +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/starlib/tools/laravel.shipit +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/starlib/tools/mkdocs.shipit +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/starlib/tools/node.shipit +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/starlib/tools/node_static.shipit +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/starlib/tools/php.shipit +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/starlib/tools/python.shipit +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/starlib/tools/staticfile.shipit +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/starlib/tools/wordpress.shipit +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/ui.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/utils.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/src/shipit/volumes.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_helpers.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/go-graphql.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/go-simple.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/hugo.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/mkdocs-with-plugins.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/mkdocs-with-plugins__cross.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/mkdocs.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/mkdocs__cross.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-astro.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-elysia.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-express.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-fastify.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-h3.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-hono.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-hydrogen.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-koa.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-mastra.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-mcp.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-nestjs.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-next.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-nitro.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-npm-file-subdir.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-pnpm-workspace-subdir.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-react-router.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-remix.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-solidstart.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-tanstack-start.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-xmcp.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-angular.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-assemble.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-astro.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-brunch.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-create-react-app.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-docusaurus-old.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-docusaurus.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-eleventy.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-ember.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-gatsby.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-harp.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-hexo.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-ionic-angular.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-ionic-react.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-metalsmith.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-next.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-nuxt.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-parcel.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-polymer.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-preact.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-remix.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-sanity.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-stencil.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-storybook.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-svelte.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-sveltekit.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-umijs.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-vite-react.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-vite.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-vitepress.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-vue.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-vuepress.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/php-api.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/php-laravel-react.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/php-nobuild.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/php-wordpress-empty.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/php-wordpress-plugin.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/php-wordpress-theme.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/php-wordpress.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-django.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-django__cross.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-fastapi.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-fastapi__cross.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-fasthtml.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-fasthtml__cross.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-ffmpeg.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-ffmpeg__cross.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-flask.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-flask__cross.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-mcp-chatgpt.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-mcp-chatgpt__cross.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-mcp.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-mcp__cross.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-pandoc.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-pandoc__cross.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-pillow.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-pillow__cross.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-procfile.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-procfile__cross.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-streamlit.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/python-streamlit__cross.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/static-htmlwithjs.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/static-nobuild.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/staticfile-redirects.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/staticfile.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/synthetic__go_subdir.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/synthetic__jekyll_bare.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/synthetic__jekyll_gemfile.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/synthetic__python_subdir.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/synthetic__static_subdir.json +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_cli_after_deploy.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_command_overrides.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_e2e.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_evaluator.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_generate_shipit_examples.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_install_context.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_node_provider.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_node_static_provider.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_php_provider.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_plan_snapshots.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_project_context.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_python_detection.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_starlark_loader.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_staticfile_provider.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_subdir.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_version.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/test_volumes.py +0 -0
- {shipit_cli-0.22.0 → shipit_cli-0.22.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.22.
|
|
3
|
+
Version: 0.22.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
|
|
@@ -29,6 +29,8 @@ SHIPIT_CONFIG_ANNOTATION = "shipitcli.com/config"
|
|
|
29
29
|
SHIPIT_PROVIDER_ANNOTATION = "shipitcli.com/provider"
|
|
30
30
|
SHIPIT_VERSION_ANNOTATION = "shipitcli.com/version"
|
|
31
31
|
WASMER_APP_KIND_ANNOTATION = "wasmer.io/app-kind"
|
|
32
|
+
WASMER_VERSION_ANNOTATION = "wasmer.io/version"
|
|
33
|
+
BUILD_ANNOTATIONS_FILENAME = "build-annotations.yaml"
|
|
32
34
|
EDGEJS_QUICKJS_DEPENDENCY = "wasmer/edgejs-quickjs@=0.0.7"
|
|
33
35
|
PHPIX_VERSION = "0.3.0-rc.2"
|
|
34
36
|
|
|
@@ -41,7 +43,10 @@ def serialize_provider_config(provider_config: Any) -> Dict[str, Any]:
|
|
|
41
43
|
if provider_config is None:
|
|
42
44
|
return {}
|
|
43
45
|
if hasattr(provider_config, "model_dump"):
|
|
44
|
-
return provider_config.model_dump(
|
|
46
|
+
return provider_config.model_dump(
|
|
47
|
+
mode="json",
|
|
48
|
+
exclude_defaults=True,
|
|
49
|
+
)
|
|
45
50
|
if isinstance(provider_config, dict):
|
|
46
51
|
return provider_config
|
|
47
52
|
return {}
|
|
@@ -313,6 +318,7 @@ class WasmerRunner:
|
|
|
313
318
|
return new_build_steps
|
|
314
319
|
|
|
315
320
|
def build(self, serve: Serve) -> None:
|
|
321
|
+
self._write_build_annotations()
|
|
316
322
|
self.build_prepare(serve)
|
|
317
323
|
self.build_serve(serve)
|
|
318
324
|
|
|
@@ -635,6 +641,7 @@ class WasmerRunner:
|
|
|
635
641
|
|
|
636
642
|
annotations = yaml_config.get("annotations", {})
|
|
637
643
|
assert isinstance(annotations, dict), "annotations must be a dictionary"
|
|
644
|
+
annotations.update(self._load_build_annotations())
|
|
638
645
|
annotations[SHIPIT_CONFIG_ANNOTATION] = serialize_provider_config(
|
|
639
646
|
self.provider_config
|
|
640
647
|
)
|
|
@@ -759,6 +766,36 @@ class WasmerRunner:
|
|
|
759
766
|
env=env or os.environ,
|
|
760
767
|
)
|
|
761
768
|
|
|
769
|
+
def _get_wasmer_version(self) -> str:
|
|
770
|
+
result = subprocess.run(
|
|
771
|
+
[self.bin, "--version"],
|
|
772
|
+
check=True,
|
|
773
|
+
capture_output=True,
|
|
774
|
+
text=True,
|
|
775
|
+
)
|
|
776
|
+
output = result.stdout.strip()
|
|
777
|
+
name, separator, version = output.partition(" ")
|
|
778
|
+
if name.lower() != "wasmer" or not separator or not version:
|
|
779
|
+
raise ValueError(f"Unexpected Wasmer version output: {output!r}")
|
|
780
|
+
return version
|
|
781
|
+
|
|
782
|
+
def _write_build_annotations(self) -> None:
|
|
783
|
+
self.wasmer_dir_path.mkdir(parents=True, exist_ok=True)
|
|
784
|
+
annotations_path = self.wasmer_dir_path / BUILD_ANNOTATIONS_FILENAME
|
|
785
|
+
annotations_path.write_text(
|
|
786
|
+
yaml.dump({WASMER_VERSION_ANNOTATION: self._get_wasmer_version()})
|
|
787
|
+
)
|
|
788
|
+
|
|
789
|
+
def _load_build_annotations(self) -> Dict[str, Any]:
|
|
790
|
+
annotations_path = self.wasmer_dir_path / BUILD_ANNOTATIONS_FILENAME
|
|
791
|
+
if not annotations_path.exists():
|
|
792
|
+
return {}
|
|
793
|
+
annotations = yaml.safe_load(annotations_path.read_text()) or {}
|
|
794
|
+
assert isinstance(annotations, dict), (
|
|
795
|
+
f"{BUILD_ANNOTATIONS_FILENAME} must contain a dictionary"
|
|
796
|
+
)
|
|
797
|
+
return annotations
|
|
798
|
+
|
|
762
799
|
def _update_app_yaml(
|
|
763
800
|
self, app_owner: Optional[str] = None, app_name: Optional[str] = None
|
|
764
801
|
) -> None:
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import subprocess
|
|
1
2
|
import tomllib
|
|
2
3
|
from pathlib import Path
|
|
3
4
|
|
|
@@ -7,7 +8,12 @@ import yaml
|
|
|
7
8
|
from shipit.providers.node import NodeConfig
|
|
8
9
|
from shipit.providers.php import PhpFramework
|
|
9
10
|
from shipit.providers.python import PythonConfig, PythonFramework
|
|
10
|
-
from shipit.runners.wasmer import
|
|
11
|
+
from shipit.runners.wasmer import (
|
|
12
|
+
BUILD_ANNOTATIONS_FILENAME,
|
|
13
|
+
WasmerRunner,
|
|
14
|
+
resolve_app_kind,
|
|
15
|
+
serialize_provider_config,
|
|
16
|
+
)
|
|
11
17
|
from shipit.shipit_types import Package, Serve, Volume
|
|
12
18
|
from shipit.version import version as shipit_version
|
|
13
19
|
|
|
@@ -54,7 +60,17 @@ def test_resolve_app_kind(
|
|
|
54
60
|
assert resolve_app_kind(provider, framework) == expected
|
|
55
61
|
|
|
56
62
|
|
|
57
|
-
def
|
|
63
|
+
def test_serialize_provider_config_excludes_defaults() -> None:
|
|
64
|
+
assert serialize_provider_config(PythonConfig()) == {}
|
|
65
|
+
assert serialize_provider_config(
|
|
66
|
+
PythonConfig(framework=PythonFramework.Django)
|
|
67
|
+
) == {"framework": "django"}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def test_wasmer_app_yaml_adds_python_annotations(
|
|
71
|
+
tmp_path: Path,
|
|
72
|
+
monkeypatch: pytest.MonkeyPatch,
|
|
73
|
+
) -> None:
|
|
58
74
|
src_dir = tmp_path / "src"
|
|
59
75
|
src_dir.mkdir()
|
|
60
76
|
(src_dir / "app.yaml").write_text(
|
|
@@ -63,6 +79,7 @@ def test_wasmer_app_yaml_adds_python_annotations(tmp_path: Path) -> None:
|
|
|
63
79
|
|
|
64
80
|
runner = WasmerRunner(DummyBuildBackend(tmp_path), src_dir)
|
|
65
81
|
runner.prepare_config(PythonConfig(framework=PythonFramework.Django))
|
|
82
|
+
monkeypatch.setattr(runner, "_get_wasmer_version", lambda: "7.2.0")
|
|
66
83
|
|
|
67
84
|
serve = Serve(
|
|
68
85
|
name="django",
|
|
@@ -76,16 +93,23 @@ def test_wasmer_app_yaml_adds_python_annotations(tmp_path: Path) -> None:
|
|
|
76
93
|
},
|
|
77
94
|
)
|
|
78
95
|
|
|
79
|
-
runner.
|
|
96
|
+
runner.build(serve)
|
|
80
97
|
|
|
81
98
|
app_yaml = yaml.safe_load((runner.wasmer_dir_path / "app.yaml").read_text())
|
|
82
99
|
annotations = app_yaml["annotations"]
|
|
100
|
+
build_annotations = yaml.safe_load(
|
|
101
|
+
(runner.wasmer_dir_path / BUILD_ANNOTATIONS_FILENAME).read_text()
|
|
102
|
+
)
|
|
83
103
|
|
|
104
|
+
assert build_annotations == {"wasmer.io/version": "7.2.0"}
|
|
84
105
|
assert annotations["example.com/existing"] == "keep"
|
|
85
106
|
assert annotations["shipitcli.com/provider"] == "python"
|
|
86
107
|
assert annotations["shipitcli.com/version"] == shipit_version
|
|
87
108
|
assert annotations["wasmer.io/app-kind"] == "django"
|
|
109
|
+
assert annotations["wasmer.io/version"] == "7.2.0"
|
|
88
110
|
assert annotations["shipitcli.com/config"]["framework"] == "django"
|
|
111
|
+
assert "python_version" not in annotations["shipitcli.com/config"]
|
|
112
|
+
assert "precompile_python" not in annotations["shipitcli.com/config"]
|
|
89
113
|
assert (
|
|
90
114
|
annotations["shipitcli.com/config"]["cross_platform"]
|
|
91
115
|
== "wasix_wasm32"
|
|
@@ -184,6 +208,28 @@ def test_wasmer_run_command_inherits_stdio(
|
|
|
184
208
|
}
|
|
185
209
|
|
|
186
210
|
|
|
211
|
+
def test_get_wasmer_version(
|
|
212
|
+
tmp_path: Path,
|
|
213
|
+
monkeypatch: pytest.MonkeyPatch,
|
|
214
|
+
) -> None:
|
|
215
|
+
src_dir = tmp_path / "src"
|
|
216
|
+
src_dir.mkdir()
|
|
217
|
+
runner = WasmerRunner(DummyBuildBackend(tmp_path), src_dir, bin="wasmer")
|
|
218
|
+
|
|
219
|
+
def fake_run(*args, **kwargs):
|
|
220
|
+
assert args == (["wasmer", "--version"],)
|
|
221
|
+
assert kwargs == {
|
|
222
|
+
"check": True,
|
|
223
|
+
"capture_output": True,
|
|
224
|
+
"text": True,
|
|
225
|
+
}
|
|
226
|
+
return subprocess.CompletedProcess(args[0], 0, stdout="wasmer 7.2.0\n")
|
|
227
|
+
|
|
228
|
+
monkeypatch.setattr("shipit.runners.wasmer.subprocess.run", fake_run)
|
|
229
|
+
|
|
230
|
+
assert runner._get_wasmer_version() == "7.2.0"
|
|
231
|
+
|
|
232
|
+
|
|
187
233
|
def test_wasmer_node_manifest_maps_to_edgejs(tmp_path: Path) -> None:
|
|
188
234
|
src_dir = tmp_path / "src"
|
|
189
235
|
src_dir.mkdir()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/mkdocs-with-plugins__cross.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/node-pnpm-workspace-subdir.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{shipit_cli-0.22.0 → shipit_cli-0.22.1}/tests/plan_snapshots/nodestatic-create-react-app.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|