@@ -12,57 +12,24 @@ jobs:
12
12
runs-on : ubuntu-latest
13
13
steps :
14
14
- name : Checkout the repository
15
- uses : actions/checkout@v3
15
+ uses : actions/checkout@v4
16
+ with :
17
+ submodules : true
16
18
- name : Install nix
17
- uses : cachix/install-nix-action@v27
19
+ uses : cachix/install-nix-action@v29
18
20
- name : Setup Python
19
- uses : actions/setup-python@v4
21
+ uses : actions/setup-python@v5
20
22
with :
21
23
python-version : ' 3.11'
22
24
- name : Install the dependencies
23
25
run : |
24
26
python -m pip install -r requirements.txt
25
- - name : Prepare Pyodide
26
- run : |
27
- git submodule init pyodide
28
- git submodule update pyodide
29
- - name : Check the Pyodide version
30
- run : |
31
- echo "PYODIDE_SHA_SHORT=$(git submodule status pyodide | cut -c 2-8)" >> $GITHUB_ENV
32
27
- name : Cache the Pyodide build
33
- uses : actions/cache@v3
28
+ uses : actions/cache@v4
34
29
with :
35
30
path : ./pyodide
36
- key : pyodide-${{ env.PYODIDE_SHA_SHORT }}-${{ hashFiles('patches/pyodide.patch') }}
37
- restore-keys : |
38
- pyodide-${{ env.PYODIDE_SHA_SHORT }}-${{ hashFiles('patches/pyodide.patch') }}
39
- pyodide-${{ env.PYODIDE_SHA_SHORT }}
40
- - name : Add a read-only SSH key to pull private dependencies
41
- uses :
webfactory/[email protected]
42
- with :
43
- ssh-private-key : ${{ secrets.FCBENCH_SSH_TOKEN }}
44
- - name : Checkout and patch pyodide
45
- run : |
46
- cd pyodide
47
- git apply --whitespace=nowarn ../patches/pyodide.patch
48
- git clone [email protected] :juntyr/field-compression-benchmark.git \
49
- packages/field-compression-benchmark/field-compression-benchmark
50
- cd packages/field-compression-benchmark/field-compression-benchmark
51
- git submodule update --init wasi/wit-deps/wasi-*
52
- git apply ../patches/0001-codecs-build.patch
53
- - name : Pre-build the wasm codecs for fcbench
54
- run : |
55
- cd pyodide/packages/field-compression-benchmark/field-compression-benchmark
56
-
57
- # Build the codecs
58
- cargo build -p codecs-build -vv
59
-
60
- # Clean up after the build
61
- cargo clean
62
- grep '^channel\s*=\s*' rust-toolchain \
63
- | sed 's/channel.*=.*\"\(.*\)\"/\1/' \
64
- | xargs rustup toolchain uninstall
65
- nix store gc
31
+ key : pyodide-${{ github.ref }}
32
+ restore-keys : pyodide-refs/heads/main
66
33
- name : Build Pyodide and all required packages
67
34
run : |
68
35
cd pyodide
74
41
- name : Clean up the pyodide build
75
42
run : |
76
43
cd pyodide
77
- git apply --whitespace=nowarn --reverse ../patches/pyodide.patch
78
- rm -rf packages/field-compression-benchmark/field-compression-benchmark
79
44
rm -rf .docker_home
80
45
find . -name jupyter-lite.json -delete
81
46
find . -name jupyter_lite_config.json -delete
94
59
find dist/ -name favicon.ico | xargs -L1 cp -f static/favicons/favicon.ico
95
60
rm -rf static
96
61
- name : Deploy to dist branch
97
- uses : peaceiris/actions-gh-pages@v3
62
+ uses : peaceiris/actions-gh-pages@v4
98
63
with :
99
64
github_token : ${{ secrets.GITHUB_TOKEN }}
100
65
publish_branch : dist
0 commit comments