Skip to content

Commit 3b655c9

Browse files
committed
ci/cd fixes
1 parent 4a19e76 commit 3b655c9

File tree

8 files changed

+90
-93
lines changed

8 files changed

+90
-93
lines changed

.github/workflows/build_sdk.yml

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,33 @@ on:
66
jobs:
77
sdk:
88
runs-on: ubuntu-latest
9+
permissions:
10+
contents: write
911

1012
steps:
1113
- uses: actions/checkout@v4
1214

15+
- name: Submodules
16+
run: |
17+
git submodule update --init --single-branch --depth=1
18+
1319
- name: Build
1420
run: |
15-
sh webrogue-sdk/build.sh
21+
sh build.sh
1622
1723
- name: Archive SDK
1824
run: |
19-
tar czf webrogue-x86_64-linux.tar.gz -C webrogue-sdk/package/ webrogue-x86_64-linux/
25+
tar czf webrogue-x86_64-linux.tar.gz -C package/ webrogue-x86_64-linux/
26+
27+
cd package/ && zip -r ../webrogue-x86_64-windows.zip webrogue-x86_64-windows && cd ..
2028
21-
cd webrogue-sdk/package/ && zip -r ../../webrogue-x86_64-windows.zip webrogue-x86_64-windows && cd ../..
29+
tar czf webrogue-x86_64-macos.tar.gz -C package/ webrogue-x86_64-macos/
30+
tar czf webrogue-arm64-macos.tar.gz -C package/ webrogue-arm64-macos/
2231
23-
tar czf webrogue-x86_64-macos.tar.gz -C webrogue-sdk/package/ webrogue-x86_64-macos/
24-
tar czf webrogue-arm64-macos.tar.gz -C webrogue-sdk/package/ webrogue-arm64-macos/
32+
- name: Update tag
33+
run: |
34+
git tag -f latest
35+
git push --force origin latest
2536
2637
- uses: ncipollo/release-action@v1
2738
with:

.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

_build.sh

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
set -ex
2+
make -C /webrogue-sdk/libraries TOOLCHAIN=wasip1 1>/dev/null
3+
4+
cd /package
5+
test -d /package/wasi-x86_64-linux || {
6+
curl -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-linux.tar.gz | tar -xz && mv wasi-sdk-25.0-x86_64-linux /package/wasi-x86_64-linux
7+
}
8+
rm -rf /package/webrogue-x86_64-linux
9+
cp -r /package/wasi-x86_64-linux /package/webrogue-x86_64-linux
10+
11+
test -d /package/wasi-x86_64-windows || {
12+
curl -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-windows.tar.gz | tar -xz && mv wasi-sdk-25.0-x86_64-windows /package/wasi-x86_64-windows
13+
}
14+
rm -rf /package/webrogue-x86_64-windows
15+
cp -r /package/wasi-x86_64-windows /package/webrogue-x86_64-windows
16+
17+
test -d /package/wasi-x86_64-macos || {
18+
curl -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-macos.tar.gz | tar -xz && mv wasi-sdk-25.0-x86_64-macos /package/wasi-x86_64-macos
19+
}
20+
rm -rf /package/webrogue-x86_64-macos
21+
cp -r /package/wasi-x86_64-macos /package/webrogue-x86_64-macos
22+
23+
test -d /package/wasi-arm64-macos || {
24+
curl -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-arm64-macos.tar.gz | tar -xz && mv wasi-sdk-25.0-arm64-macos /package/wasi-arm64-macos
25+
}
26+
rm -rf /package/webrogue-arm64-macos
27+
cp -r /package/wasi-arm64-macos /package/webrogue-arm64-macos
28+
29+
for SDK in x86_64-linux x86_64-windows x86_64-macos arm64-macos
30+
do
31+
for VERSION_TO_REMOVE in wasm32-wasi wasm32-wasi-threads wasm32-wasip1 wasm32-wasip2
32+
do
33+
for DIR_TO_REMOVE in include lib share
34+
do
35+
rm -rf /package/webrogue-$SDK/share/wasi-sysroot/$DIR_TO_REMOVE/$VERSION_TO_REMOVE
36+
done
37+
rm -f /package/webrogue-$SDK/bin/$VERSION_TO_REMOVE-clang
38+
rm -f /package/webrogue-$SDK/bin/$VERSION_TO_REMOVE-clang++
39+
rm -f /package/webrogue-$SDK/bin/$VERSION_TO_REMOVE-clang.exe
40+
rm -f /package/webrogue-$SDK/bin/$VERSION_TO_REMOVE-clang++.exe
41+
done
42+
43+
for VERSION_TO_MOVE in wasm32-wasip1-threads
44+
do
45+
rm -rf /package/webrogue-$SDK/share/wasi-sysroot/lib/$VERSION_TO_MOVE/llvm-lto # TODO add lto
46+
cp -r /opt/wasip1/include/* /package/webrogue-$SDK/share/wasi-sysroot/include/$VERSION_TO_MOVE
47+
cp -r /opt/wasip1/lib/* /package/webrogue-$SDK/share/wasi-sysroot/lib/$VERSION_TO_MOVE
48+
llvm-ar qLs /package/webrogue-$SDK/share/wasi-sysroot/lib/$VERSION_TO_MOVE/libc++abi.a /package/webrogue-$SDK/share/wasi-sysroot/lib/$VERSION_TO_MOVE/libcxxemulatedthrow.a
49+
rm /package/webrogue-$SDK/share/wasi-sysroot/lib/$VERSION_TO_MOVE/libcxxemulatedthrow.a
50+
CMAKE_DIR_PATH=package/webrogue-$SDK/share/wasi-sysroot/lib/$VERSION_TO_MOVE/cmake/$CMAKE_TARGETS_TO_PATCH
51+
CMAKE_TARGETS_FILES_TO_PATCH="
52+
$CMAKE_DIR_PATH/glfw3/glfw3Targets
53+
$CMAKE_DIR_PATH/SDL2/SDL2testTargets
54+
$CMAKE_DIR_PATH/SDL2/SDL2staticTargets
55+
$CMAKE_DIR_PATH/SDL2/SDL2mainTargets
56+
"
57+
58+
for CMAKE_TARGETS_FILE_TO_PATCH in $CMAKE_TARGETS_FILES_TO_PATCH
59+
do
60+
sed -i "s/\${_IMPORT_PREFIX}\\/lib\\//\${_IMPORT_PREFIX}\\/$VERSION_TO_MOVE\\//g" $CMAKE_TARGETS_FILE_TO_PATCH-release.cmake
61+
sed -i "s/\${_IMPORT_PREFIX}\\/include/\${_IMPORT_PREFIX}\\/..\\/include\\/$VERSION_TO_MOVE/g" $CMAKE_TARGETS_FILE_TO_PATCH.cmake
62+
done
63+
done
64+
65+
rm /package/webrogue-$SDK/share/cmake/wasi-sdk-p1.cmake
66+
rm /package/webrogue-$SDK/share/cmake/wasi-sdk-p2.cmake
67+
rm /package/webrogue-$SDK/share/cmake/wasi-sdk-pthread.cmake
68+
rm /package/webrogue-$SDK/share/cmake/wasi-sdk.cmake
69+
cp /opt/wasi-sdk-p1-pthread.cmake /package/webrogue-$SDK/share/cmake/wasi-sdk-p1-pthread.cmake
70+
done

build.sh

Lines changed: 2 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -5,76 +5,6 @@ cd builder
55
. $(pwd)/common
66
cd ..
77

8-
sh libraries/copy_sources.sh || true
8+
test -d ../external/aemu && test -d ../external/gfxstream && sh libraries/copy_sources.sh
99

10-
run_in_docker '
11-
set -ex
12-
make -C /webrogue-sdk/libraries TOOLCHAIN=wasip1 1>/dev/null
13-
'
14-
15-
test -d package/wasi-x86_64-linux || {
16-
curl -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-linux.tar.gz | tar -xz && mv wasi-sdk-25.0-x86_64-linux package/wasi-x86_64-linux
17-
}
18-
rm -rf package/webrogue-x86_64-linux
19-
cp -r package/wasi-x86_64-linux package/webrogue-x86_64-linux
20-
21-
test -d package/wasi-x86_64-windows || {
22-
curl -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-windows.tar.gz | tar -xz && mv wasi-sdk-25.0-x86_64-windows package/wasi-x86_64-windows
23-
}
24-
rm -rf package/webrogue-x86_64-windows
25-
cp -r package/wasi-x86_64-windows package/webrogue-x86_64-windows
26-
27-
test -d package/wasi-x86_64-macos || {
28-
curl -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-macos.tar.gz | tar -xz && mv wasi-sdk-25.0-x86_64-macos package/wasi-x86_64-macos
29-
}
30-
rm -rf package/webrogue-x86_64-macos
31-
cp -r package/wasi-x86_64-macos package/webrogue-x86_64-macos
32-
33-
test -d package/wasi-arm64-macos || {
34-
curl -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-arm64-macos.tar.gz | tar -xz && mv wasi-sdk-25.0-arm64-macos package/wasi-arm64-macos
35-
}
36-
rm -rf package/webrogue-arm64-macos
37-
cp -r package/wasi-arm64-macos package/webrogue-arm64-macos
38-
39-
for SDK in x86_64-linux x86_64-windows x86_64-macos arm64-macos
40-
do
41-
for VERSION_TO_REMOVE in wasm32-wasi wasm32-wasi-threads wasm32-wasip1 wasm32-wasip2
42-
do
43-
for DIR_TO_REMOVE in include lib share
44-
do
45-
rm -rf package/webrogue-$SDK/share/wasi-sysroot/$DIR_TO_REMOVE/$VERSION_TO_REMOVE
46-
done
47-
rm -f package/webrogue-$SDK/bin/$VERSION_TO_REMOVE-clang
48-
rm -f package/webrogue-$SDK/bin/$VERSION_TO_REMOVE-clang++
49-
rm -f package/webrogue-$SDK/bin/$VERSION_TO_REMOVE-clang.exe
50-
rm -f package/webrogue-$SDK/bin/$VERSION_TO_REMOVE-clang++.exe
51-
done
52-
53-
for VERSION_TO_MOVE in wasm32-wasip1-threads
54-
do
55-
rm -rf package/webrogue-$SDK/share/wasi-sysroot/lib/$VERSION_TO_MOVE/llvm-lto # TODO add lto
56-
cp -r opt/wasip1/include/* package/webrogue-$SDK/share/wasi-sysroot/include/$VERSION_TO_MOVE
57-
cp -r opt/wasip1/lib/* package/webrogue-$SDK/share/wasi-sysroot/lib/$VERSION_TO_MOVE
58-
llvm-ar qLs package/webrogue-$SDK/share/wasi-sysroot/lib/$VERSION_TO_MOVE/libc++abi.a package/webrogue-$SDK/share/wasi-sysroot/lib/$VERSION_TO_MOVE/libcxxemulatedthrow.a
59-
rm package/webrogue-$SDK/share/wasi-sysroot/lib/$VERSION_TO_MOVE/libcxxemulatedthrow.a
60-
CMAKE_DIR_PATH=package/webrogue-$SDK/share/wasi-sysroot/lib/$VERSION_TO_MOVE/cmake/$CMAKE_TARGETS_TO_PATCH
61-
CMAKE_TARGETS_FILES_TO_PATCH="
62-
$CMAKE_DIR_PATH/glfw3/glfw3Targets
63-
$CMAKE_DIR_PATH/SDL2/SDL2testTargets
64-
$CMAKE_DIR_PATH/SDL2/SDL2staticTargets
65-
$CMAKE_DIR_PATH/SDL2/SDL2mainTargets
66-
"
67-
68-
for CMAKE_TARGETS_FILE_TO_PATCH in $CMAKE_TARGETS_FILES_TO_PATCH
69-
do
70-
sed -i "s/\${_IMPORT_PREFIX}\\/lib\\//\${_IMPORT_PREFIX}\\/$VERSION_TO_MOVE\\//g" $CMAKE_TARGETS_FILE_TO_PATCH-release.cmake
71-
sed -i "s/\${_IMPORT_PREFIX}\\/include/\${_IMPORT_PREFIX}\\/..\\/include\\/$VERSION_TO_MOVE/g" $CMAKE_TARGETS_FILE_TO_PATCH.cmake
72-
done
73-
done
74-
75-
rm package/webrogue-$SDK/share/cmake/wasi-sdk-p1.cmake
76-
rm package/webrogue-$SDK/share/cmake/wasi-sdk-p2.cmake
77-
rm package/webrogue-$SDK/share/cmake/wasi-sdk-pthread.cmake
78-
rm package/webrogue-$SDK/share/cmake/wasi-sdk.cmake
79-
cp wasi-sdk-p1-pthread.cmake package/webrogue-$SDK/share/cmake/wasi-sdk-p1-pthread.cmake
80-
done
10+
run_in_docker "$(cat _build.sh)"

builder/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM ubuntu
22

3-
RUN apt-get update && apt-get -y install ca-certificates gpg wget curl build-essential lld bzip2 subversion git unzip rsync python3 default-jre
3+
RUN apt-get update && apt-get -y install ca-certificates gpg wget curl build-essential lld llvm bzip2 subversion git unzip rsync python3 default-jre
44

55
RUN curl -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-linux.tar.gz | tar -xz && mv wasi-sdk-25.0-x86_64-linux /wasi-sdk
66

builder/common

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ run_in_docker() {
1212
-v $SDK_DIR/cargo/cache:/fakehome/.cargo/registry/cache \
1313
-v $SDK_DIR/cargo/index:/fakehome/.cargo/registry/index \
1414
-v $SDK_DIR/opt:/opt \
15-
-v $(dirname $SDK_DIR):/host_dir \
15+
-v $SDK_DIR/package:/package \
1616
-u $(id -u ${USER}):$(id -g ${USER}) \
1717
-t $image_name \
1818
bash -c "$1"

opt/make_symlinks.sh

Lines changed: 0 additions & 13 deletions
This file was deleted.
File renamed without changes.

0 commit comments

Comments
 (0)