mirror of https://github.com/pyodide/pyodide.git
Add xbuildenv to github releases (#2850)
This adds a step that generates an xbuildenv to the circleci CI and deploys it to github releases when we make a release. I also updated the url in download_xbuildenv to point to github releases.
This commit is contained in:
parent
3d28e35ade
commit
cdb457bf5b
|
@ -201,6 +201,24 @@ jobs:
|
|||
paths:
|
||||
- .
|
||||
|
||||
create-xbuild-env:
|
||||
<<: *defaults
|
||||
steps:
|
||||
- checkout
|
||||
|
||||
- attach_workspace:
|
||||
at: .
|
||||
|
||||
- run:
|
||||
name: create xbuild environment
|
||||
command: |
|
||||
PYTHONPATH=pyodide-build python -m pyodide_build create_xbuildenv
|
||||
|
||||
- persist_to_workspace:
|
||||
root: .
|
||||
paths:
|
||||
- .
|
||||
|
||||
test-main:
|
||||
parameters:
|
||||
test-params:
|
||||
|
@ -338,10 +356,16 @@ jobs:
|
|||
- run:
|
||||
name: Deploy Github Releases
|
||||
command: |
|
||||
cp -r dist /tmp/pyodide
|
||||
cd /tmp/
|
||||
tar cjf pyodide-build-${CIRCLE_TAG}.tar.bz2 pyodide/
|
||||
ghr -t "${GITHUB_TOKEN}" -u "${CIRCLE_PROJECT_USERNAME}" -r "${CIRCLE_PROJECT_REPONAME}" -c "${CIRCLE_SHA1}" -delete "${CIRCLE_TAG}" ./pyodide-build-${CIRCLE_TAG}.tar.bz2
|
||||
mkdir -p /tmp/ghr/dist
|
||||
cp -r dist /tmp/ghr/pyodide
|
||||
cp -r xbuildenv /tmp/ghr/xbuildenv
|
||||
cd /tmp/ghr
|
||||
tar cjf dist/pyodide-build-${CIRCLE_TAG}.tar.bz2 pyodide/
|
||||
tar cjf dist/xbuildenv-${CIRCLE_TAG}.tar.bz2 xbuildenv/
|
||||
ghr -t "${GITHUB_TOKEN}" -u "${CIRCLE_PROJECT_USERNAME}" \
|
||||
-r "${CIRCLE_PROJECT_REPONAME}" -c "${CIRCLE_SHA1}" \
|
||||
-delete "${CIRCLE_TAG}" \
|
||||
dist
|
||||
|
||||
- run:
|
||||
name: Deploy to npm
|
||||
|
@ -602,6 +626,13 @@ workflows:
|
|||
tags:
|
||||
only: /.*/
|
||||
|
||||
- create-xbuild-env:
|
||||
requires:
|
||||
- build-packages
|
||||
filters:
|
||||
tags:
|
||||
only: /.*/
|
||||
|
||||
- build-pyodide-debug:
|
||||
requires:
|
||||
- build-packages
|
||||
|
@ -615,6 +646,7 @@ workflows:
|
|||
- test-core-firefox
|
||||
- test-packages-firefox
|
||||
- build-pyodide-debug
|
||||
- create-xbuild-env
|
||||
filters:
|
||||
branches:
|
||||
ignore: /.*/
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
__version__ = "0.21.0.dev0"
|
|
@ -28,7 +28,7 @@ def download_xbuild_env(version: str, xbuildenv_path: Path) -> None:
|
|||
rmtree(xbuildenv_path, ignore_errors=True)
|
||||
with NamedTemporaryFile(suffix=".tar") as f:
|
||||
urlretrieve(
|
||||
f"http://pyodide-cache.s3-website-us-east-1.amazonaws.com/xbuildenv/{version}.tar",
|
||||
f"https://github.com/pyodide/pyodide/releases/download/{version}/xbuildenv-{version}.tar.bz2",
|
||||
f.name,
|
||||
)
|
||||
unpack_archive(f.name, xbuildenv_path)
|
||||
|
@ -61,7 +61,8 @@ def install_xbuild_env(xbuildenv_path: Path) -> None:
|
|||
|
||||
def main(args: argparse.Namespace) -> None:
|
||||
xbuildenv_path = Path(args.xbuild_env[0])
|
||||
version = "2"
|
||||
from . import __version__
|
||||
|
||||
if args.download:
|
||||
download_xbuild_env(version, xbuildenv_path)
|
||||
download_xbuild_env(__version__, xbuildenv_path)
|
||||
install_xbuild_env(xbuildenv_path)
|
||||
|
|
|
@ -8,10 +8,10 @@ from . import build
|
|||
def ensure_env_installed(env: Path) -> None:
|
||||
if env.exists():
|
||||
return
|
||||
from .. import __version__
|
||||
from ..install_xbuildenv import download_xbuild_env, install_xbuild_env
|
||||
|
||||
version = "2"
|
||||
download_xbuild_env(version, env)
|
||||
download_xbuild_env(__version__, env)
|
||||
install_xbuild_env(env)
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[metadata]
|
||||
name = pyodide-build
|
||||
version = 0.21.0.dev0
|
||||
version = attr: pyodide_build.__version__
|
||||
author = Pyodide developers
|
||||
description = "Tools for building Pyodide"
|
||||
long_description = file: README.md
|
||||
|
|
|
@ -45,8 +45,8 @@ PYTHON_TARGETS = [
|
|||
prerelease=True,
|
||||
),
|
||||
Target(
|
||||
ROOT / "pyodide-build/setup.cfg",
|
||||
build_version_pattern("version = {python_version}"),
|
||||
ROOT / "pyodide-build/pyodide_build/__init__.py",
|
||||
pattern=build_version_pattern('__version__ = "{python_version}"'),
|
||||
prerelease=True,
|
||||
),
|
||||
Target(
|
||||
|
|
Loading…
Reference in New Issue