Skip to content

Commit 7c92c8f

Browse files
committed
Use composite action
1 parent 782eea7 commit 7c92c8f

File tree

3 files changed

+47
-86
lines changed

3 files changed

+47
-86
lines changed

.github/actions/build-wasm/action.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: "Build SQLite3 WASM"
2+
description: "Build SQLite3 WASM on macOS"
3+
runs:
4+
using: "composite"
5+
steps:
6+
- uses: actions/checkout@v3
7+
with:
8+
submodules: recursive
9+
- name: Setup Homebrew
10+
id: set-up-homebrew
11+
uses: Homebrew/actions/setup-homebrew@master
12+
- name: Install Flutter
13+
uses: subosito/flutter-action@v2
14+
with:
15+
flutter-version: "3.x"
16+
channel: "stable"
17+
- name: Setup macOS
18+
run: |
19+
brew install cmake
20+
brew install llvm
21+
brew install binaryen
22+
curl -sL https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-22/libclang_rt.builtins-wasm32-wasi-22.0.tar.gz | \
23+
tar x -zf - -C /opt/homebrew/opt/llvm/lib/clang/18*
24+
curl -sS -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-22/wasi-sysroot-22.0.tar.gz | \
25+
sudo tar x -zf - -C /opt
26+
- name: Install Rust Nightly
27+
uses: dtolnay/rust-toolchain@stable
28+
with:
29+
toolchain: nightly-2024-05-18
30+
components: rust-src
31+
- name: Set environment variable
32+
run: |
33+
echo "/opt/homebrew/opt/llvm/bin" >> $GITHUB_PATH
34+
- name: Flutter pub get
35+
working-directory: sqlite3
36+
run: |
37+
flutter pub get
38+
- name: Compile sqlite3.wasm on macOS
39+
if: runner.os == 'macOS'
40+
working-directory: sqlite3
41+
run: |
42+
cmake -Dwasi_sysroot=/opt/wasi-sysroot -Dclang=/opt/homebrew/opt/llvm/bin/clang -S assets/wasm -B .dart_tool/sqlite3_build --toolchain toolchain.cmake
43+
cmake --build .dart_tool/sqlite3_build/ -t output -j

.github/workflows/release.yml

Lines changed: 2 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -16,54 +16,8 @@ jobs:
1616

1717
steps:
1818
- uses: actions/checkout@v3
19-
with:
20-
submodules: recursive
21-
- name: Setup Homebrew
22-
id: set-up-homebrew
23-
uses: Homebrew/actions/setup-homebrew@master
24-
- name: Install Flutter
25-
uses: subosito/flutter-action@v2
26-
with:
27-
flutter-version: "3.x"
28-
channel: "stable"
29-
- name: Setup macOS
30-
if: runner.os == 'macOS'
31-
run: |
32-
brew install cmake
33-
brew install llvm
34-
brew install binaryen
35-
curl -sL https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-22/libclang_rt.builtins-wasm32-wasi-22.0.tar.gz | \
36-
tar x -zf - -C /opt/homebrew/opt/llvm/lib/clang/18*
37-
curl -sS -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-22/wasi-sysroot-22.0.tar.gz | \
38-
sudo tar x -zf - -C /opt
39-
- name: Install Rust Nightly
40-
uses: dtolnay/rust-toolchain@stable
41-
with:
42-
toolchain: nightly-2024-05-18
43-
components: rust-src
44-
- name: Set environment variable
45-
run: |
46-
echo "/opt/homebrew/opt/llvm/bin" >> $GITHUB_PATH
47-
- name: Flutter pub get
48-
working-directory: sqlite3
49-
run: |
50-
flutter pub get
51-
- name: Compile sqlite3.wasm on macOS
52-
if: runner.os == 'macOS'
53-
working-directory: sqlite3
54-
run: |
55-
cmake -Dwasi_sysroot=/opt/wasi-sysroot -Dclang=/opt/homebrew/opt/llvm/bin/clang -S assets/wasm -B .dart_tool/sqlite3_build --toolchain toolchain.cmake
56-
cmake --build .dart_tool/sqlite3_build/ -t output -j
57-
- name: Upload sqlite3 binary
58-
uses: actions/upload-artifact@v4
59-
with:
60-
name: sqlite3.wasm
61-
path: sqlite3/.dart_tool/sqlite3_build/sqlite3.wasm
62-
- name: Upload sqlite3 debug binary
63-
uses: actions/upload-artifact@v4
64-
with:
65-
name: sqlite3.debug.wasm
66-
path: sqlite3/.dart_tool/sqlite3_build/sqlite3.debug.wasm
19+
- name: Build wasm
20+
uses: ./.github/actions/build-wasm
6721
- name: Upload sqlite3 binary
6822
uses: svenstaro/upload-release-action@v2
6923
with:

.github/workflows/test.yml

Lines changed: 2 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -15,41 +15,5 @@ jobs:
1515

1616
steps:
1717
- uses: actions/checkout@v3
18-
with:
19-
submodules: recursive
20-
- name: Setup Homebrew
21-
id: set-up-homebrew
22-
uses: Homebrew/actions/setup-homebrew@master
23-
- name: Install Flutter
24-
uses: subosito/flutter-action@v2
25-
with:
26-
flutter-version: "3.x"
27-
channel: "stable"
28-
- name: Setup macOS
29-
if: runner.os == 'macOS'
30-
run: |
31-
brew install cmake
32-
brew install llvm
33-
brew install binaryen
34-
curl -sL https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-22/libclang_rt.builtins-wasm32-wasi-22.0.tar.gz | \
35-
tar x -zf - -C /opt/homebrew/opt/llvm/lib/clang/18*
36-
curl -sS -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-22/wasi-sysroot-22.0.tar.gz | \
37-
sudo tar x -zf - -C /opt
38-
- name: Install Rust Nightly
39-
uses: dtolnay/rust-toolchain@stable
40-
with:
41-
toolchain: nightly-2024-05-18
42-
components: rust-src
43-
- name: Set environment variable
44-
run: |
45-
echo "/opt/homebrew/opt/llvm/bin" >> $GITHUB_PATH
46-
- name: Flutter pub get
47-
working-directory: sqlite3
48-
run: |
49-
flutter pub get
50-
- name: Compile sqlite3.wasm on macOS
51-
if: runner.os == 'macOS'
52-
working-directory: sqlite3
53-
run: |
54-
cmake -Dwasi_sysroot=/opt/wasi-sysroot -Dclang=/opt/homebrew/opt/llvm/bin/clang -S assets/wasm -B .dart_tool/sqlite3_build --toolchain toolchain.cmake
55-
cmake --build .dart_tool/sqlite3_build/ -t output -j
18+
- name: Build wasm
19+
uses: ./.github/actions/build-wasm

0 commit comments

Comments
 (0)