2021-07-15 16:08:53 +00:00
|
|
|
version: 2.1
|
2018-06-01 13:07:15 +00:00
|
|
|
|
2018-08-17 08:29:10 +00:00
|
|
|
defaults: &defaults
|
|
|
|
working_directory: ~/repo
|
|
|
|
docker:
|
2022-02-14 17:34:13 +00:00
|
|
|
# Note: when updating the docker image version,
|
|
|
|
# make sure there are no extra old versions lying around.
|
|
|
|
# (e.g. `rg -F --hidden <old_tag>`)
|
2023-05-06 22:27:43 +00:00
|
|
|
- image: pyodide/pyodide-env:20230506-chrome112-firefox112-py311
|
2019-12-31 17:09:39 +00:00
|
|
|
environment:
|
2021-04-20 20:57:13 +00:00
|
|
|
- EMSDK_NUM_CORES: 3
|
|
|
|
EMCC_CORES: 3
|
|
|
|
PYODIDE_JOBS: 3
|
2021-09-11 12:22:13 +00:00
|
|
|
# Make sure the ccache dir is consistent between core and package builds
|
|
|
|
# (it's not the case otherwise)
|
|
|
|
CCACHE_DIR: /root/.ccache/
|
2023-03-21 08:11:47 +00:00
|
|
|
# Disable the compression of wheels, so they are better compressed by the CDN
|
|
|
|
PYODIDE_ZIP_COMPRESSION_LEVEL: 0
|
2018-06-01 13:07:15 +00:00
|
|
|
|
2022-09-08 01:43:55 +00:00
|
|
|
orbs:
|
2023-08-17 11:12:30 +00:00
|
|
|
macos: circleci/macos@2.3.6
|
2022-09-08 01:43:55 +00:00
|
|
|
|
2018-08-17 08:29:10 +00:00
|
|
|
jobs:
|
2020-12-11 15:47:47 +00:00
|
|
|
build-core:
|
2020-06-28 18:24:40 +00:00
|
|
|
<<: *defaults
|
|
|
|
steps:
|
|
|
|
- checkout
|
2018-06-14 18:19:08 +00:00
|
|
|
|
2018-06-01 13:07:15 +00:00
|
|
|
- restore_cache:
|
|
|
|
keys:
|
2022-09-21 07:30:09 +00:00
|
|
|
- -core-v20220915-{{ checksum "cpython/Makefile" }}-{{ checksum "Makefile.envs" }}
|
|
|
|
- -core-v20220915-{{ checksum "cpython/Makefile" }}
|
|
|
|
- -core-v20220915
|
|
|
|
|
|
|
|
- run:
|
|
|
|
name: calculate build hash for ccache
|
|
|
|
command: |
|
|
|
|
pip install pathspec
|
|
|
|
./tools/calculate_build_cache_key.py > build_hash.txt
|
2018-06-01 13:07:15 +00:00
|
|
|
|
|
|
|
- run:
|
2020-12-11 15:47:47 +00:00
|
|
|
name: build emsdk
|
2022-03-05 07:50:44 +00:00
|
|
|
no_output_timeout: 20m
|
2018-06-01 13:07:15 +00:00
|
|
|
command: |
|
2021-09-11 12:22:13 +00:00
|
|
|
# This is necessary to use the ccache from emsdk
|
|
|
|
source pyodide_env.sh
|
|
|
|
|
2018-08-06 17:58:05 +00:00
|
|
|
ccache -z
|
2020-12-11 15:47:47 +00:00
|
|
|
make -C emsdk
|
|
|
|
ccache -s
|
|
|
|
|
2021-09-11 12:22:13 +00:00
|
|
|
# Set mtime for EM_CONFIG to avoid ccache cache misses
|
|
|
|
touch -m -d '1 Jan 2021 12:00' emsdk/emsdk/.emscripten
|
|
|
|
|
2020-12-11 15:47:47 +00:00
|
|
|
- run:
|
|
|
|
name: build cpython
|
2022-03-05 07:50:44 +00:00
|
|
|
no_output_timeout: 20m
|
2020-12-11 15:47:47 +00:00
|
|
|
command: |
|
2021-09-11 12:22:13 +00:00
|
|
|
# This is necessary to use the ccache from emsdk
|
|
|
|
source pyodide_env.sh
|
|
|
|
|
2020-12-11 15:47:47 +00:00
|
|
|
ccache -z
|
|
|
|
make -C cpython
|
|
|
|
ccache -s
|
|
|
|
|
|
|
|
- run:
|
|
|
|
name: build pyodide core
|
2022-03-05 07:50:44 +00:00
|
|
|
no_output_timeout: 20m
|
2020-12-11 15:47:47 +00:00
|
|
|
command: |
|
2021-09-11 12:22:13 +00:00
|
|
|
# This is necessary to use the ccache from emsdk
|
|
|
|
source pyodide_env.sh
|
|
|
|
|
2020-12-11 15:47:47 +00:00
|
|
|
ccache -z
|
2023-01-27 04:31:26 +00:00
|
|
|
PYODIDE_PACKAGES="tag:core" make
|
2018-07-24 19:40:25 +00:00
|
|
|
ccache -s
|
2018-06-01 13:07:15 +00:00
|
|
|
|
2018-09-27 09:38:26 +00:00
|
|
|
- run:
|
|
|
|
name: check-size
|
2023-02-04 05:25:38 +00:00
|
|
|
command: |
|
|
|
|
du dist/ -abh --max-depth 1 | sort -k 2
|
|
|
|
|
|
|
|
pip install brotli
|
2023-03-01 22:11:30 +00:00
|
|
|
./tools/check_compressed_size.py dist/pyodide.asm.* dist/python_stdlib*
|
2018-09-27 09:38:26 +00:00
|
|
|
|
2018-06-01 13:07:15 +00:00
|
|
|
- save_cache:
|
|
|
|
paths:
|
2021-09-11 12:22:13 +00:00
|
|
|
- /root/.ccache
|
2022-09-21 07:30:09 +00:00
|
|
|
key: -core-v20220915-{{ checksum "cpython/Makefile" }}-{{ checksum "Makefile.envs" }}
|
2018-06-01 13:07:15 +00:00
|
|
|
|
2021-01-05 08:47:28 +00:00
|
|
|
- run:
|
|
|
|
name: Clean up workspace
|
|
|
|
command: |
|
|
|
|
rm -rf cpython/{build,downloads}
|
|
|
|
rm -rf emsdk/emsdk/binaryen
|
|
|
|
|
2018-08-17 08:29:10 +00:00
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
2020-12-11 15:47:47 +00:00
|
|
|
- .
|
2018-08-17 08:29:10 +00:00
|
|
|
|
2022-08-24 21:22:33 +00:00
|
|
|
- run:
|
|
|
|
name: Zip build directory
|
|
|
|
command: |
|
|
|
|
tar cjf pyodide.tar.gz dist
|
2023-06-19 05:57:43 +00:00
|
|
|
tar cjf pyodide-core.tar.gz dist/pyodide{.js,.mjs,.asm.js,.asm.wasm} dist/{package,pyodide-lock}.json dist/python_stdlib.zip
|
2022-08-24 21:22:33 +00:00
|
|
|
|
2021-04-13 12:42:50 +00:00
|
|
|
- store_artifacts:
|
2022-04-11 23:01:40 +00:00
|
|
|
path: /root/repo/dist/
|
2021-04-13 12:42:50 +00:00
|
|
|
|
2021-12-07 12:24:31 +00:00
|
|
|
- store_artifacts:
|
2022-08-22 00:36:00 +00:00
|
|
|
path: /root/repo/pyodide.tar.gz
|
2021-12-07 12:24:31 +00:00
|
|
|
|
2022-08-24 21:22:33 +00:00
|
|
|
- store_artifacts:
|
|
|
|
path: /root/repo/pyodide-core.tar.gz
|
|
|
|
|
2021-12-07 12:24:31 +00:00
|
|
|
- store_artifacts:
|
|
|
|
path: /root/repo/packages/build-logs
|
|
|
|
|
2020-12-11 15:47:47 +00:00
|
|
|
build-packages:
|
2022-04-19 00:24:47 +00:00
|
|
|
parameters:
|
|
|
|
packages:
|
|
|
|
description: The packages to be built.
|
|
|
|
type: string
|
2020-05-08 23:46:59 +00:00
|
|
|
<<: *defaults
|
2021-11-04 11:23:41 +00:00
|
|
|
resource_class: large
|
2020-05-08 23:46:59 +00:00
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
|
2020-12-11 15:47:47 +00:00
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
|
2020-05-08 23:46:59 +00:00
|
|
|
- restore_cache:
|
|
|
|
keys:
|
2022-09-21 07:30:09 +00:00
|
|
|
- -pkg3-v20220915-{{ checksum "build_hash.txt" }}-<< parameters.packages >>
|
2020-05-08 23:46:59 +00:00
|
|
|
|
|
|
|
- run:
|
2020-12-11 15:47:47 +00:00
|
|
|
name: build packages
|
2022-04-19 00:24:47 +00:00
|
|
|
no_output_timeout: 60m
|
2020-05-08 23:46:59 +00:00
|
|
|
command: |
|
2021-09-11 12:22:13 +00:00
|
|
|
source pyodide_env.sh
|
|
|
|
|
|
|
|
# Set mtime for EM_CONFIG to avoid ccache cache misses
|
|
|
|
touch -m -d '1 Jan 2021 12:00' emsdk/emsdk/.emscripten
|
|
|
|
|
2020-05-08 23:46:59 +00:00
|
|
|
ccache -z
|
2023-06-19 05:57:43 +00:00
|
|
|
PYODIDE_PACKAGES='<< parameters.packages >>' make dist/pyodide-lock.json
|
2020-05-08 23:46:59 +00:00
|
|
|
ccache -s
|
2021-11-04 11:23:41 +00:00
|
|
|
environment:
|
|
|
|
PYODIDE_JOBS: 5
|
2020-05-08 23:46:59 +00:00
|
|
|
|
|
|
|
- run:
|
|
|
|
name: check-size
|
2022-06-22 18:03:37 +00:00
|
|
|
command: du dist/ -abh --max-depth 1 | sort -k 2
|
2020-05-08 23:46:59 +00:00
|
|
|
|
2021-12-07 12:24:31 +00:00
|
|
|
- run:
|
|
|
|
name: Zip build directory
|
|
|
|
command: |
|
2022-08-24 21:22:33 +00:00
|
|
|
tar cjf pyodide.tar.gz dist
|
2023-06-19 05:57:43 +00:00
|
|
|
tar cjf pyodide-core.tar.gz dist/pyodide{.js,.mjs,.asm.js,.asm.wasm} dist/{package,pyodide-lock}.json dist/python_stdlib.zip
|
2022-03-05 00:10:06 +00:00
|
|
|
tar cjf build-logs.tar.gz packages/build-logs
|
2021-12-07 12:24:31 +00:00
|
|
|
|
2022-07-13 08:30:58 +00:00
|
|
|
- run:
|
|
|
|
name: Clean up package source files
|
|
|
|
command: |
|
|
|
|
cd packages && find **/build ! -name '.packaged' -type f -exec rm -f {} +
|
|
|
|
|
2021-12-07 12:24:31 +00:00
|
|
|
- store_artifacts:
|
2022-08-22 00:36:00 +00:00
|
|
|
path: /root/repo/pyodide.tar.gz
|
2021-12-07 12:24:31 +00:00
|
|
|
|
2022-08-24 21:22:33 +00:00
|
|
|
- store_artifacts:
|
|
|
|
path: /root/repo/pyodide-core.tar.gz
|
|
|
|
|
2022-03-05 00:10:06 +00:00
|
|
|
- store_artifacts:
|
|
|
|
path: /root/repo/build-logs.tar.gz
|
|
|
|
|
2022-09-21 07:30:09 +00:00
|
|
|
- save_cache:
|
|
|
|
paths:
|
|
|
|
- /root/.ccache
|
|
|
|
key: -pkg3-v20220915-{{ checksum "build_hash.txt" }}-<< parameters.packages >>
|
|
|
|
|
2022-06-28 17:16:23 +00:00
|
|
|
build-pyodide-debug:
|
|
|
|
<<: *defaults
|
|
|
|
resource_class: large
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
|
|
|
|
- run:
|
|
|
|
name: build pyodide debug
|
|
|
|
command: |
|
|
|
|
cp -r dist dist-release
|
|
|
|
rm dist/pyodide.asm.js
|
|
|
|
source pyodide_env.sh
|
|
|
|
ccache -z
|
2022-09-21 05:20:08 +00:00
|
|
|
PYODIDE_DEBUG=1 make dist/pyodide.asm.js
|
2022-06-28 17:16:23 +00:00
|
|
|
ccache -s
|
|
|
|
cd dist
|
|
|
|
npx prettier -w pyodide.asm.js
|
2022-06-28 23:52:32 +00:00
|
|
|
npx prettier -w pyodide.js
|
2022-06-28 17:16:23 +00:00
|
|
|
cd ..
|
|
|
|
mv dist dist-debug
|
|
|
|
mv dist-release dist
|
|
|
|
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- .
|
|
|
|
|
2022-07-10 08:58:39 +00:00
|
|
|
create-xbuild-env:
|
|
|
|
<<: *defaults
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
|
|
|
|
- run:
|
|
|
|
name: create xbuild environment
|
|
|
|
command: |
|
2022-09-11 07:20:56 +00:00
|
|
|
pip install -e ./pyodide-build
|
2023-04-07 11:54:11 +00:00
|
|
|
pyodide xbuildenv create .
|
2022-07-10 08:58:39 +00:00
|
|
|
|
2022-08-24 21:22:33 +00:00
|
|
|
- run:
|
|
|
|
name: Zip xbuild environment
|
|
|
|
command: |
|
2023-04-07 11:54:11 +00:00
|
|
|
tar cjf xbuildenv.tar.gz ./xbuildenv/
|
2022-08-24 21:22:33 +00:00
|
|
|
|
|
|
|
- store_artifacts:
|
|
|
|
path: /root/repo/xbuildenv.tar.gz
|
|
|
|
|
2022-07-10 08:58:39 +00:00
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
2022-07-12 09:14:41 +00:00
|
|
|
- ./xbuildenv
|
2022-07-10 08:58:39 +00:00
|
|
|
|
2023-03-28 11:28:28 +00:00
|
|
|
build-test-pyc-packages:
|
|
|
|
<<: *defaults
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
|
|
|
|
- run:
|
|
|
|
name: Install requirements
|
|
|
|
command: |
|
|
|
|
pip install -r requirements.txt
|
|
|
|
pip install -e ./pyodide-build
|
|
|
|
npm install -g node-fetch@2
|
|
|
|
|
|
|
|
- run:
|
|
|
|
name: Py-compile packages
|
|
|
|
command: |
|
|
|
|
pyodide py-compile --compression-level 0 dist/
|
|
|
|
|
|
|
|
- run:
|
|
|
|
name: Test import of py-compiled packages
|
|
|
|
command: |
|
|
|
|
tools/pytest_wrapper.py \
|
|
|
|
--junitxml=test-results/junit.xml \
|
|
|
|
--verbose \
|
|
|
|
--durations 50 \
|
|
|
|
--benchmark-json=benchmark-time.json \
|
|
|
|
"packages/_tests/test_packages_common.py::test_import" -k "node"
|
|
|
|
|
|
|
|
mv dist/ dist-pyc/
|
|
|
|
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- ./dist-pyc
|
|
|
|
|
2021-07-15 16:08:53 +00:00
|
|
|
test-main:
|
|
|
|
parameters:
|
|
|
|
test-params:
|
|
|
|
description: The tests to run.
|
|
|
|
type: string
|
2022-07-11 00:52:38 +00:00
|
|
|
cache-dir:
|
|
|
|
description: pytest-cache-dir.
|
|
|
|
type: string
|
|
|
|
default: ""
|
2018-08-17 08:29:10 +00:00
|
|
|
<<: *defaults
|
2021-11-04 11:23:41 +00:00
|
|
|
resource_class: medium+
|
2018-08-17 08:29:10 +00:00
|
|
|
steps:
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
2018-06-01 13:07:15 +00:00
|
|
|
- run:
|
|
|
|
name: test
|
|
|
|
command: |
|
2022-05-04 20:06:55 +00:00
|
|
|
make npm-link
|
2021-06-26 17:31:00 +00:00
|
|
|
mkdir test-results
|
2022-08-30 00:50:59 +00:00
|
|
|
pip install -r requirements.txt
|
2022-10-25 01:31:38 +00:00
|
|
|
pip install -e ./pyodide-build
|
2022-07-04 07:07:01 +00:00
|
|
|
npm install -g node-fetch@2
|
2022-07-11 00:52:38 +00:00
|
|
|
if [ -z "<< parameters.cache-dir >>" ]; then
|
|
|
|
export CACHE_DIR=".test_cache/.pytest_cache_$(echo $RANDOM | md5sum | head -c 10)"
|
|
|
|
else
|
|
|
|
export CACHE_DIR=".test_cache/<< parameters.cache-dir >>"
|
|
|
|
fi
|
|
|
|
echo "pytest cache dir: $CACHE_DIR"
|
2023-05-06 08:17:22 +00:00
|
|
|
source pyodide_env.sh
|
2021-07-15 16:08:53 +00:00
|
|
|
tools/pytest_wrapper.py \
|
|
|
|
--junitxml=test-results/junit.xml \
|
2021-07-16 21:33:05 +00:00
|
|
|
--verbose \
|
2022-05-05 18:14:20 +00:00
|
|
|
--durations 50 \
|
2022-08-30 00:50:59 +00:00
|
|
|
--benchmark-json=benchmark-time.json \
|
|
|
|
--benchmark-columns=mean,min,max,stddev \
|
2022-07-11 00:52:38 +00:00
|
|
|
<< parameters.test-params >> \
|
|
|
|
-o cache_dir=$CACHE_DIR
|
2021-06-26 17:31:00 +00:00
|
|
|
- store_test_results:
|
|
|
|
path: test-results
|
2018-06-19 17:36:14 +00:00
|
|
|
|
2022-09-08 01:43:55 +00:00
|
|
|
test-main-macos:
|
|
|
|
parameters:
|
|
|
|
test-params:
|
|
|
|
description: The tests to run.
|
|
|
|
type: string
|
|
|
|
cache-dir:
|
|
|
|
description: pytest-cache-dir.
|
|
|
|
type: string
|
|
|
|
default: ""
|
2023-09-27 10:25:17 +00:00
|
|
|
resource_class: macos.x86.medium.gen2
|
2022-09-08 01:43:55 +00:00
|
|
|
macos:
|
2023-10-10 23:53:39 +00:00
|
|
|
xcode: 15.0.0
|
2022-09-08 01:43:55 +00:00
|
|
|
|
|
|
|
working_directory: ~/repo
|
|
|
|
steps:
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
# The standard way of enabling safaridriver no longer works for Safari 14+
|
|
|
|
# https://blog.bytesguy.com/enabling-remote-automation-in-safari-14
|
|
|
|
- macos/add-safari-permissions
|
|
|
|
- run:
|
|
|
|
name: install miniforge
|
|
|
|
command: |
|
|
|
|
curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-x86_64.sh
|
|
|
|
bash Miniforge3-MacOSX-x86_64.sh -b && rm -f Miniforge3-MacOSX-x86_64.sh
|
2023-01-24 03:45:59 +00:00
|
|
|
~/miniforge3/bin/conda create -n pyodide python=3.11 -y
|
2022-09-08 01:43:55 +00:00
|
|
|
- run:
|
|
|
|
name: install dependencies
|
|
|
|
command: |
|
|
|
|
export PATH="$HOME/miniforge3/bin:$PATH"
|
2023-01-24 03:45:59 +00:00
|
|
|
conda create -n pyodide python=3.11 -y
|
2022-09-08 01:43:55 +00:00
|
|
|
source activate pyodide
|
|
|
|
python -m pip install -r requirements.txt
|
2022-10-25 01:31:38 +00:00
|
|
|
pip install -e ./pyodide-build
|
2022-09-08 01:43:55 +00:00
|
|
|
- run:
|
|
|
|
name: test safari
|
|
|
|
command: |
|
|
|
|
export PATH="$HOME/miniforge3/bin:$PATH"
|
|
|
|
source activate pyodide
|
|
|
|
mkdir test-results
|
|
|
|
if [ -z "<< parameters.cache-dir >>" ]; then
|
|
|
|
export CACHE_DIR=".test_cache/.pytest_cache_$(echo $RANDOM | md5sum | head -c 10)"
|
|
|
|
else
|
|
|
|
export CACHE_DIR=".test_cache/<< parameters.cache-dir >>"
|
|
|
|
fi
|
|
|
|
echo "pytest cache dir: $CACHE_DIR"
|
|
|
|
tools/pytest_wrapper.py \
|
|
|
|
--junitxml=test-results/junit.xml \
|
|
|
|
--verbose \
|
|
|
|
--durations 50 \
|
|
|
|
<< parameters.test-params >> \
|
|
|
|
-o cache_dir=$CACHE_DIR
|
|
|
|
- store_test_results:
|
|
|
|
path: test-results
|
|
|
|
|
2021-07-09 20:37:28 +00:00
|
|
|
benchmark-stack-size:
|
|
|
|
<<: *defaults
|
|
|
|
steps:
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
- run:
|
|
|
|
name: stack-size
|
|
|
|
command: |
|
2022-05-04 20:06:55 +00:00
|
|
|
make npm-link
|
2022-10-25 01:31:38 +00:00
|
|
|
pip install -r requirements.txt
|
2022-07-04 07:07:01 +00:00
|
|
|
npm install -g node-fetch@2
|
2023-06-06 02:17:31 +00:00
|
|
|
pytest -s benchmark/stack_usage.py --rt node,chrome,firefox | sed -n 's/## //pg'
|
2021-07-09 20:37:28 +00:00
|
|
|
|
2021-07-06 08:48:35 +00:00
|
|
|
test-js:
|
2021-06-01 02:06:56 +00:00
|
|
|
<<: *defaults
|
|
|
|
resource_class: small
|
|
|
|
steps:
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
- run:
|
2023-09-14 14:24:56 +00:00
|
|
|
name: test
|
2021-06-01 02:06:56 +00:00
|
|
|
command: |
|
2022-04-18 04:10:03 +00:00
|
|
|
cd src/test-js
|
2021-11-27 19:43:31 +00:00
|
|
|
npm ci
|
2022-04-18 04:10:03 +00:00
|
|
|
npm link ../../dist
|
|
|
|
npm run test-types
|
2021-07-06 08:48:35 +00:00
|
|
|
npm test
|
2023-03-01 22:11:30 +00:00
|
|
|
# - run:
|
|
|
|
# name: check if Pyodide works with Webpack
|
|
|
|
# command: |
|
|
|
|
# git clone https://github.com/pyodide/pyodide-webpack-example.git
|
|
|
|
# export DEV_PYODIDE_PATH=`realpath dist`
|
|
|
|
# cd pyodide-webpack-example
|
|
|
|
# git checkout 164054a9c6fbd2176f386b6552ed8d079c6bcc04
|
|
|
|
# ./build.sh
|
2021-06-01 02:06:56 +00:00
|
|
|
|
2022-10-12 04:54:12 +00:00
|
|
|
- run:
|
|
|
|
name: test npm deploy (dry run)
|
|
|
|
command: |
|
|
|
|
DRY_RUN=1 ./tools/deploy_to_npm.sh
|
|
|
|
|
2022-09-12 18:18:40 +00:00
|
|
|
test-cmdline-runner:
|
|
|
|
<<: *defaults
|
|
|
|
steps:
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
|
|
|
|
- run:
|
|
|
|
name: test
|
|
|
|
command: |
|
|
|
|
set -x
|
|
|
|
export PYODIDE_ROOT=$(pwd)
|
|
|
|
echo $PYODIDE_ROOT
|
2023-05-06 08:17:22 +00:00
|
|
|
source pyodide_env.sh
|
2022-09-12 18:18:40 +00:00
|
|
|
cd ~
|
|
|
|
mkdir test
|
|
|
|
cd test
|
|
|
|
git clone https://github.com/python-attrs/attrs --depth 1 --branch 22.1.0
|
|
|
|
git clone https://github.com/zopefoundation/zope.interface.git --depth 1 --branch 5.4.0
|
|
|
|
|
2023-01-24 03:45:59 +00:00
|
|
|
python -m venv .venv-host
|
2022-09-12 18:18:40 +00:00
|
|
|
source .venv-host/bin/activate
|
|
|
|
pip install $PYODIDE_ROOT/pyodide-build
|
|
|
|
pyodide venv .venv-pyodide
|
|
|
|
source .venv-pyodide/bin/activate
|
|
|
|
|
|
|
|
cd zope.interface
|
|
|
|
pyodide build
|
|
|
|
pip install dist/*.whl
|
|
|
|
cd ../attrs
|
2022-09-18 16:21:02 +00:00
|
|
|
pip install .[tests]
|
2022-09-12 18:18:40 +00:00
|
|
|
python -m pytest -k 'not mypy'
|
|
|
|
|
2018-10-01 20:57:08 +00:00
|
|
|
benchmark:
|
|
|
|
<<: *defaults
|
2021-11-04 11:23:41 +00:00
|
|
|
resource_class: medium+
|
2018-10-01 20:57:08 +00:00
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
2022-03-10 04:34:25 +00:00
|
|
|
- run:
|
|
|
|
name: install requirements
|
|
|
|
command: |
|
2022-05-04 20:17:16 +00:00
|
|
|
pip3 install numpy matplotlib pandas
|
2022-10-25 01:31:38 +00:00
|
|
|
pip install -r requirements.txt
|
|
|
|
npm install -g node-fetch@2
|
2018-10-01 20:57:08 +00:00
|
|
|
- run:
|
|
|
|
name: benchmark
|
|
|
|
command: |
|
2022-04-11 23:01:40 +00:00
|
|
|
python benchmark/benchmark.py all --output dist/benchmarks.json
|
2022-03-02 18:11:36 +00:00
|
|
|
|
2018-10-02 13:25:35 +00:00
|
|
|
- store_artifacts:
|
2022-04-11 23:01:40 +00:00
|
|
|
path: /root/repo/dist/benchmarks.json
|
2018-10-01 20:57:08 +00:00
|
|
|
|
2019-05-31 18:39:52 +00:00
|
|
|
deploy-release:
|
2021-04-26 19:58:05 +00:00
|
|
|
# To reduce chance of deployment issues, try to keep the steps here as
|
|
|
|
# similar as possible to the steps in deploy-dev!
|
2021-03-30 13:27:22 +00:00
|
|
|
resource_class: small
|
|
|
|
|
2023-03-29 20:54:46 +00:00
|
|
|
<<: *defaults
|
2018-11-02 15:25:13 +00:00
|
|
|
|
2018-06-19 17:36:14 +00:00
|
|
|
steps:
|
2018-08-24 14:31:28 +00:00
|
|
|
- checkout
|
|
|
|
- attach_workspace:
|
2018-11-02 15:30:36 +00:00
|
|
|
at: .
|
2020-05-19 16:15:21 +00:00
|
|
|
- run:
|
|
|
|
name: Install requirements
|
|
|
|
command: |
|
2023-03-29 20:54:46 +00:00
|
|
|
python3 -m pip install -e "./pyodide-build[deploy]"
|
|
|
|
|
|
|
|
wget https://github.com/tcnksm/ghr/releases/download/v0.16.0/ghr_v0.16.0_linux_amd64.tar.gz
|
|
|
|
tar xzf ghr_v0.16.0_linux_amd64.tar.gz
|
|
|
|
mv ghr_v0.16.0_linux_amd64/ghr /tmp/ghr-bin
|
2022-08-28 05:17:51 +00:00
|
|
|
|
2018-06-19 17:36:14 +00:00
|
|
|
- run:
|
2018-11-02 15:25:13 +00:00
|
|
|
name: Deploy Github Releases
|
2018-06-19 17:36:14 +00:00
|
|
|
command: |
|
2022-07-10 08:58:39 +00:00
|
|
|
mkdir -p /tmp/ghr/dist
|
|
|
|
cp -r dist /tmp/ghr/pyodide
|
|
|
|
cp -r xbuildenv /tmp/ghr/xbuildenv
|
|
|
|
cd /tmp/ghr
|
2022-08-22 00:36:00 +00:00
|
|
|
tar cjf dist/pyodide-${CIRCLE_TAG}.tar.bz2 pyodide/
|
2023-06-19 05:57:43 +00:00
|
|
|
tar cjf dist/pyodide-core-${CIRCLE_TAG}.tar.bz2 pyodide/pyodide{.js,.mjs,.asm.js,.asm.wasm} pyodide/{package,pyodide-lock}.json pyodide/python_stdlib.zip
|
2022-07-10 08:58:39 +00:00
|
|
|
tar cjf dist/xbuildenv-${CIRCLE_TAG}.tar.bz2 xbuildenv/
|
2023-03-29 20:54:46 +00:00
|
|
|
/tmp/ghr-bin -t "${GITHUB_TOKEN}" -u "${CIRCLE_PROJECT_USERNAME}" \
|
2022-07-10 08:58:39 +00:00
|
|
|
-r "${CIRCLE_PROJECT_REPONAME}" -c "${CIRCLE_SHA1}" \
|
|
|
|
-delete "${CIRCLE_TAG}" \
|
|
|
|
dist
|
2018-06-19 17:36:14 +00:00
|
|
|
|
2022-06-24 05:51:43 +00:00
|
|
|
- run:
|
|
|
|
name: Deploy to npm
|
|
|
|
command: |
|
|
|
|
./tools/deploy_to_npm.sh
|
|
|
|
|
2021-04-18 14:28:21 +00:00
|
|
|
- run:
|
|
|
|
name: Set PYODIDE_BASE_URL
|
2022-06-28 17:16:23 +00:00
|
|
|
command: |
|
2023-03-29 20:54:46 +00:00
|
|
|
PYODIDE_BASE_URL="https://cdn.jsdelivr.net/pyodide/v${CIRCLE_TAG}/pyc/" make dist/console.html
|
|
|
|
cp dist/console.html dist-pyc/console.html
|
2022-06-28 17:16:23 +00:00
|
|
|
PYODIDE_BASE_URL="https://cdn.jsdelivr.net/pyodide/v${CIRCLE_TAG}/debug/" make dist/console.html
|
|
|
|
cp dist/console.html dist-debug/console.html
|
|
|
|
PYODIDE_BASE_URL="https://cdn.jsdelivr.net/pyodide/v${CIRCLE_TAG}/full/" make dist/console.html
|
2020-05-19 16:15:21 +00:00
|
|
|
- run:
|
2023-03-29 20:54:46 +00:00
|
|
|
name: Deploy to S3
|
2020-05-19 16:15:21 +00:00
|
|
|
command: |
|
2023-03-29 20:54:46 +00:00
|
|
|
python3 tools/deploy_s3.py dist/ "v${CIRCLE_TAG}/full/" --bucket "pyodide-cdn2.iodide.io" --cache-control 'max-age=30758400, immutable, public'
|
2022-06-28 17:16:23 +00:00
|
|
|
- run:
|
2023-03-29 20:54:46 +00:00
|
|
|
name: Deploy debug version to S3
|
2022-06-28 17:16:23 +00:00
|
|
|
command: |
|
2023-03-29 20:54:46 +00:00
|
|
|
python3 tools/deploy_s3.py dist-debug/ "v${CIRCLE_TAG}/debug/" --bucket "pyodide-cdn2.iodide.io" --cache-control 'max-age=30758400, immutable, public'
|
2022-06-28 17:16:23 +00:00
|
|
|
- run:
|
2023-03-29 20:54:46 +00:00
|
|
|
name: Deploy the pyc version to S3
|
2022-06-28 17:16:23 +00:00
|
|
|
command: |
|
2023-03-29 20:54:46 +00:00
|
|
|
python3 tools/deploy_s3.py dist-pyc/ "v${CIRCLE_TAG}/pyc/" --bucket "pyodide-cdn2.iodide.io" --cache-control 'max-age=30758400, immutable, public'
|
2020-05-19 16:15:21 +00:00
|
|
|
|
2021-04-26 19:58:05 +00:00
|
|
|
deploy-dev:
|
|
|
|
# To reduce chance of deployment issues, try to keep the steps here as
|
|
|
|
# similar as possible to the steps in deploy-release!
|
2021-03-30 13:27:22 +00:00
|
|
|
resource_class: small
|
|
|
|
|
2023-03-29 20:54:46 +00:00
|
|
|
<<: *defaults
|
2019-05-31 18:39:52 +00:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
- run:
|
2020-05-19 16:15:21 +00:00
|
|
|
name: Install requirements
|
2019-05-31 18:39:52 +00:00
|
|
|
command: |
|
2023-03-29 20:54:46 +00:00
|
|
|
python3 -m pip install -e "./pyodide-build[deploy]"
|
2021-04-26 19:58:05 +00:00
|
|
|
- run:
|
|
|
|
name: Set PYODIDE_BASE_URL
|
2022-06-28 17:16:23 +00:00
|
|
|
command: |
|
2023-03-29 20:54:46 +00:00
|
|
|
PYODIDE_BASE_URL="https://cdn.jsdelivr.net/pyodide/dev/pyc/" make dist/console.html
|
|
|
|
cp dist/console.html dist-pyc/console.html
|
2022-06-28 17:16:23 +00:00
|
|
|
PYODIDE_BASE_URL="https://cdn.jsdelivr.net/pyodide/dev/debug/" make dist/console.html
|
|
|
|
cp dist/console.html dist-debug/console.html
|
|
|
|
PYODIDE_BASE_URL="https://cdn.jsdelivr.net/pyodide/dev/full/" make dist/console.html
|
2023-04-17 05:22:07 +00:00
|
|
|
|
2019-05-31 18:39:52 +00:00
|
|
|
- run:
|
2023-03-29 20:54:46 +00:00
|
|
|
name: Deploy to S3
|
|
|
|
command: |
|
|
|
|
python3 tools/deploy_s3.py dist/ "dev/full/" --bucket "pyodide-cdn2.iodide.io" --cache-control 'max-age=3600, public' --rm-remote-prefix
|
|
|
|
- run:
|
|
|
|
name: Deploy debug version to S3
|
2019-05-31 18:39:52 +00:00
|
|
|
command: |
|
2023-03-29 20:54:46 +00:00
|
|
|
python3 tools/deploy_s3.py dist-debug/ "dev/debug/" --bucket "pyodide-cdn2.iodide.io" --cache-control 'max-age=3600, public' --rm-remote-prefix
|
2022-06-28 06:04:55 +00:00
|
|
|
- run:
|
2023-03-29 20:54:46 +00:00
|
|
|
name: Deploy pyc version to S3
|
2022-06-28 06:04:55 +00:00
|
|
|
command: |
|
2023-03-29 20:54:46 +00:00
|
|
|
python3 tools/deploy_s3.py dist-pyc/ "dev/pyc/" --bucket "pyodide-cdn2.iodide.io" --cache-control 'max-age=3600, public' --rm-remote-prefix
|
2019-05-31 18:39:52 +00:00
|
|
|
|
2023-04-17 05:22:07 +00:00
|
|
|
- run:
|
|
|
|
# Unlike the release version, we upload the dev version to S3 not to GitHub.
|
|
|
|
name: Deploy release files to S3
|
|
|
|
command: |
|
|
|
|
mkdir -p /tmp/ghr/dist
|
|
|
|
cp -r dist /tmp/ghr/pyodide
|
|
|
|
cp -r xbuildenv /tmp/ghr/xbuildenv
|
|
|
|
cd /tmp/ghr
|
2023-06-19 05:57:43 +00:00
|
|
|
tar cjf dist/pyodide-core.tar.bz2 pyodide/pyodide{.js,.mjs,.asm.js,.asm.wasm} pyodide/{package,pyodide-lock}.json pyodide/python_stdlib.zip
|
2023-04-17 05:22:07 +00:00
|
|
|
tar cjf dist/xbuildenv.tar.bz2 xbuildenv/
|
|
|
|
|
2023-04-20 02:34:22 +00:00
|
|
|
cd -
|
|
|
|
python3 tools/deploy_s3.py /tmp/ghr/dist/ "xbuildenv/dev" --bucket "pyodide-cache" --cache-control 'max-age=3600, public' --overwrite \
|
2023-04-17 05:22:07 +00:00
|
|
|
--access-key-env "AWS_ACCESS_KEY_ID_CACHE" --secret-key-env "AWS_SECRET_ACCESS_KEY_CACHE"
|
|
|
|
|
2018-06-19 17:36:14 +00:00
|
|
|
workflows:
|
|
|
|
version: 2
|
|
|
|
build-and-deploy:
|
|
|
|
jobs:
|
2021-07-24 20:30:54 +00:00
|
|
|
- build-core:
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2023-09-01 11:31:24 +00:00
|
|
|
- build-packages:
|
|
|
|
name: build-libraries
|
|
|
|
packages: "tag:library"
|
|
|
|
requires:
|
|
|
|
- build-core
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
post-steps:
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- ./packages
|
|
|
|
- ./dist
|
|
|
|
|
2022-04-19 00:24:47 +00:00
|
|
|
- build-packages:
|
|
|
|
name: build-packages-no-numpy-dependents
|
|
|
|
packages: "*,no-numpy-dependents"
|
2020-06-28 18:24:40 +00:00
|
|
|
requires:
|
2020-12-11 15:47:47 +00:00
|
|
|
- build-core
|
2023-09-01 11:31:24 +00:00
|
|
|
- build-libraries
|
2021-07-24 20:30:54 +00:00
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
2022-04-19 00:24:47 +00:00
|
|
|
post-steps:
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- ./packages
|
|
|
|
- ./dist
|
2021-07-24 01:22:12 +00:00
|
|
|
|
2023-06-30 21:44:51 +00:00
|
|
|
- build-packages:
|
|
|
|
name: build-packages-opencv-python
|
|
|
|
packages: opencv-python
|
|
|
|
requires:
|
|
|
|
- build-packages-no-numpy-dependents
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
post-steps:
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- ./packages/opencv-python/build
|
|
|
|
- ./packages/opencv-python/dist
|
|
|
|
- ./packages/build-logs/opencv*
|
|
|
|
- ./dist/opencv*
|
2022-04-19 00:24:47 +00:00
|
|
|
|
|
|
|
- build-packages:
|
|
|
|
name: build-packages-numpy-dependents
|
|
|
|
packages: "*,!opencv-python"
|
|
|
|
requires:
|
|
|
|
- build-packages-no-numpy-dependents
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
post-steps:
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- ./packages
|
|
|
|
- ./dist
|
|
|
|
|
|
|
|
- build-packages:
|
|
|
|
name: build-packages
|
|
|
|
packages: "*"
|
|
|
|
requires:
|
|
|
|
- build-packages-numpy-dependents
|
2023-06-30 21:44:51 +00:00
|
|
|
- build-packages-opencv-python
|
2022-04-19 00:24:47 +00:00
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
post-steps:
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- ./packages/.artifacts
|
|
|
|
- ./dist
|
2021-12-05 20:34:09 +00:00
|
|
|
|
2021-07-15 16:08:53 +00:00
|
|
|
- test-main:
|
|
|
|
name: test-core-chrome
|
2022-09-08 13:39:42 +00:00
|
|
|
test-params: --runtime=chrome-no-host -k "not webworker" src packages/micropip packages/fpcast-test packages/sharedlib-test-py/ packages/cpp-exceptions-test/
|
2018-06-19 17:36:14 +00:00
|
|
|
requires:
|
2020-12-11 15:47:47 +00:00
|
|
|
- build-core
|
2021-07-24 20:30:54 +00:00
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2021-07-15 16:08:53 +00:00
|
|
|
- test-main:
|
|
|
|
name: test-core-firefox
|
2022-09-08 13:39:42 +00:00
|
|
|
test-params: --runtime=firefox-no-host -k "not webworker" src packages/micropip packages/fpcast-test packages/sharedlib-test-py/ packages/cpp-exceptions-test/
|
2018-08-17 08:29:10 +00:00
|
|
|
requires:
|
2020-12-11 15:47:47 +00:00
|
|
|
- build-core
|
2021-07-24 20:30:54 +00:00
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2021-07-20 08:48:27 +00:00
|
|
|
- test-main:
|
|
|
|
name: test-core-node
|
2022-11-17 01:05:14 +00:00
|
|
|
test-params: --runtime=node-no-host src packages/micropip packages/fpcast-test packages/sharedlib-test-py/ packages/cpp-exceptions-test/ pyodide-build/pyodide_build/tests
|
2021-07-20 08:48:27 +00:00
|
|
|
requires:
|
|
|
|
- build-core
|
2021-07-24 20:30:54 +00:00
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2022-09-08 01:43:55 +00:00
|
|
|
- test-main-macos:
|
|
|
|
name: test-core-safari
|
2022-09-08 13:39:42 +00:00
|
|
|
test-params: --runtime=safari-no-host src packages/micropip packages/fpcast-test packages/sharedlib-test-py/ packages/cpp-exceptions-test/
|
2022-09-08 01:43:55 +00:00
|
|
|
requires:
|
|
|
|
- build-core
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2021-07-24 01:22:12 +00:00
|
|
|
- test-main:
|
|
|
|
name: test-core-chrome-webworker
|
2022-09-08 13:39:42 +00:00
|
|
|
test-params: --runtime=chrome-no-host src/tests/test_webworker.py
|
2021-07-24 01:22:12 +00:00
|
|
|
requires:
|
|
|
|
- test-core-chrome
|
2021-07-24 20:30:54 +00:00
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2021-07-24 01:22:12 +00:00
|
|
|
- test-main:
|
|
|
|
name: test-core-firefox-webworker
|
2022-09-08 13:39:42 +00:00
|
|
|
test-params: --runtime=firefox-no-host src/tests/test_webworker.py
|
2021-07-24 01:22:12 +00:00
|
|
|
requires:
|
|
|
|
- test-core-firefox
|
2021-07-24 20:30:54 +00:00
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2021-07-15 16:08:53 +00:00
|
|
|
- test-main:
|
2022-07-11 00:52:38 +00:00
|
|
|
name: test-packages-chrome-no-numpy-dependents
|
2022-09-08 13:39:42 +00:00
|
|
|
test-params: --runtime=chrome-no-host packages/*/test*.py
|
2022-07-11 00:52:38 +00:00
|
|
|
cache-dir: .pytest_cache_chrome
|
|
|
|
requires:
|
|
|
|
- build-packages-no-numpy-dependents
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
post-steps:
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- ./.test_cache
|
|
|
|
|
|
|
|
- test-main:
|
|
|
|
name: test-packages-chrome
|
2022-09-08 13:39:42 +00:00
|
|
|
test-params: --runtime=chrome-no-host packages/*/test*.py --skip-passed
|
2022-07-11 00:52:38 +00:00
|
|
|
cache-dir: .pytest_cache_chrome
|
2020-12-11 15:47:47 +00:00
|
|
|
requires:
|
2022-07-11 00:52:38 +00:00
|
|
|
- test-packages-chrome-no-numpy-dependents
|
2020-12-11 15:47:47 +00:00
|
|
|
- build-packages
|
2021-07-24 20:30:54 +00:00
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2021-07-15 16:08:53 +00:00
|
|
|
- test-main:
|
2022-07-11 00:52:38 +00:00
|
|
|
name: test-packages-firefox-no-numpy-dependents
|
2022-09-08 13:39:42 +00:00
|
|
|
test-params: --runtime=firefox-no-host packages/*/test*.py
|
2022-07-11 00:52:38 +00:00
|
|
|
cache-dir: .pytest_cache_firefox
|
|
|
|
requires:
|
|
|
|
- build-packages-no-numpy-dependents
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
post-steps:
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- ./.test_cache
|
|
|
|
|
|
|
|
- test-main:
|
|
|
|
name: test-packages-firefox
|
2022-09-08 13:39:42 +00:00
|
|
|
test-params: --runtime=firefox-no-host packages/*/test*.py --skip-passed
|
2022-07-11 00:52:38 +00:00
|
|
|
cache-dir: .pytest_cache_firefox
|
2020-12-11 15:47:47 +00:00
|
|
|
requires:
|
2022-07-11 00:52:38 +00:00
|
|
|
- test-packages-firefox-no-numpy-dependents
|
2020-12-11 15:47:47 +00:00
|
|
|
- build-packages
|
2021-07-24 20:30:54 +00:00
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2021-07-20 08:48:27 +00:00
|
|
|
- test-main:
|
2022-07-11 00:52:38 +00:00
|
|
|
name: test-packages-node-no-numpy-dependents
|
2022-09-08 13:39:42 +00:00
|
|
|
test-params: --runtime=node-no-host packages/*/test*.py
|
2022-07-11 00:52:38 +00:00
|
|
|
cache-dir: .pytest_cache_node
|
|
|
|
requires:
|
|
|
|
- build-packages-no-numpy-dependents
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
post-steps:
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- ./.test_cache
|
|
|
|
|
|
|
|
- test-main:
|
|
|
|
name: test-packages-node
|
2022-09-08 13:39:42 +00:00
|
|
|
test-params: --runtime=node-no-host packages/*/test*.py --skip-passed
|
2022-07-11 00:52:38 +00:00
|
|
|
cache-dir: .pytest_cache_node
|
2021-07-20 08:48:27 +00:00
|
|
|
requires:
|
2022-07-11 00:52:38 +00:00
|
|
|
- test-packages-node-no-numpy-dependents
|
2021-07-20 08:48:27 +00:00
|
|
|
- build-packages
|
2021-07-24 20:30:54 +00:00
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2022-09-14 00:13:53 +00:00
|
|
|
- test-main-macos:
|
|
|
|
name: test-packages-safari-no-numpy-dependents
|
|
|
|
test-params: --runtime=safari-no-host -k "not webworker" packages/*/test*.py
|
|
|
|
cache-dir: .pytest_cache_safari
|
|
|
|
requires:
|
|
|
|
- build-packages-no-numpy-dependents
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
post-steps:
|
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- ./.test_cache
|
|
|
|
|
|
|
|
- test-main-macos:
|
|
|
|
name: test-packages-safari
|
|
|
|
test-params: --runtime=safari-no-host -k "not webworker" packages/*/test*.py --skip-passed
|
|
|
|
cache-dir: .pytest_cache_safari
|
|
|
|
requires:
|
|
|
|
- test-packages-safari-no-numpy-dependents
|
|
|
|
- build-packages
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2021-07-06 08:48:35 +00:00
|
|
|
- test-js:
|
2021-06-01 02:06:56 +00:00
|
|
|
requires:
|
|
|
|
- build-core
|
2021-07-24 20:30:54 +00:00
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2021-07-09 20:37:28 +00:00
|
|
|
- benchmark-stack-size:
|
|
|
|
requires:
|
|
|
|
- build-core
|
2021-07-24 20:30:54 +00:00
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2018-10-01 20:57:08 +00:00
|
|
|
- benchmark:
|
|
|
|
requires:
|
2020-12-11 15:47:47 +00:00
|
|
|
- build-packages
|
2021-07-24 20:30:54 +00:00
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2022-07-10 08:58:39 +00:00
|
|
|
- create-xbuild-env:
|
|
|
|
requires:
|
|
|
|
- build-packages
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2022-09-12 18:18:40 +00:00
|
|
|
- test-cmdline-runner:
|
|
|
|
requires:
|
|
|
|
- build-packages
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2022-06-28 17:16:23 +00:00
|
|
|
- build-pyodide-debug:
|
|
|
|
requires:
|
|
|
|
- build-packages
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2023-03-28 11:28:28 +00:00
|
|
|
- build-test-pyc-packages:
|
|
|
|
requires:
|
|
|
|
- build-packages
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
2019-05-31 18:39:52 +00:00
|
|
|
- deploy-release:
|
|
|
|
requires:
|
2020-12-11 15:47:47 +00:00
|
|
|
- test-core-firefox
|
|
|
|
- test-packages-firefox
|
2022-06-28 17:16:23 +00:00
|
|
|
- build-pyodide-debug
|
2022-07-10 08:58:39 +00:00
|
|
|
- create-xbuild-env
|
2023-03-29 20:54:46 +00:00
|
|
|
- build-test-pyc-packages
|
2019-05-31 18:39:52 +00:00
|
|
|
filters:
|
|
|
|
branches:
|
2021-04-19 09:47:06 +00:00
|
|
|
ignore: /.*/
|
2019-05-31 18:39:52 +00:00
|
|
|
tags:
|
2021-03-21 15:32:50 +00:00
|
|
|
only: /^\d+\.\d+\.\w+$/
|
2022-07-15 07:41:44 +00:00
|
|
|
context:
|
|
|
|
- s3-deployment
|
2021-04-26 19:58:05 +00:00
|
|
|
- deploy-dev:
|
2018-08-17 08:29:10 +00:00
|
|
|
requires:
|
2020-12-11 15:47:47 +00:00
|
|
|
- test-core-firefox
|
|
|
|
- test-packages-firefox
|
2022-06-28 17:16:23 +00:00
|
|
|
- build-pyodide-debug
|
2023-04-17 05:22:07 +00:00
|
|
|
- create-xbuild-env
|
2023-03-29 20:54:46 +00:00
|
|
|
- build-test-pyc-packages
|
2018-06-19 17:36:14 +00:00
|
|
|
filters:
|
2018-11-06 14:20:01 +00:00
|
|
|
branches:
|
2021-04-19 09:37:59 +00:00
|
|
|
only: main
|
2022-07-15 07:41:44 +00:00
|
|
|
context:
|
|
|
|
- s3-deployment
|