Skip to content

Add Windows wamrc and iwasm build in release CI #3857

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 25 commits into from
Oct 17, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
999a9f4
release CI: Windows artifact
TianlongLiang Oct 10, 2024
80bedf1
release CI: Windows llvm lib, iwasm and wamrc
TianlongLiang Oct 10, 2024
b3cfbfe
use build for llvm libraries build diretory for all platform
TianlongLiang Oct 10, 2024
9be909c
use build for llvm libraries build diretory for all platform, conditi…
TianlongLiang Oct 10, 2024
09da8e9
some update
TianlongLiang Oct 10, 2024
df36be8
some update
TianlongLiang Oct 10, 2024
2a5280c
some update
TianlongLiang Oct 11, 2024
e95bd37
some update
TianlongLiang Oct 11, 2024
072cf8f
some update
TianlongLiang Oct 11, 2024
a0fa71e
some update
TianlongLiang Oct 11, 2024
63e18c0
some update
TianlongLiang Oct 11, 2024
ed31d8a
"conditionally extra llvm paths on Windows"
TianlongLiang Oct 12, 2024
e7b0005
disable fast jit on Windows for now
TianlongLiang Oct 12, 2024
b6e23d0
use multi-line environment variable for llvm lib cache paths for wind…
TianlongLiang Oct 12, 2024
6dc917c
use multi-line environment variable for llvm lib cache paths for wind…
TianlongLiang Oct 12, 2024
97d37d9
disable lib pthread on Windows iwasm
TianlongLiang Oct 15, 2024
d9e352b
disable lib pthread semaphore on Windows iwasm
TianlongLiang Oct 15, 2024
d69e3e0
some update
TianlongLiang Oct 15, 2024
c4d317a
some update
TianlongLiang Oct 15, 2024
639cc53
cr suggestions
TianlongLiang Oct 15, 2024
0777ab4
cr suggestions
TianlongLiang Oct 15, 2024
e3fe5f0
repackage the llvm libs on Windows to unify the build path instead of…
TianlongLiang Oct 15, 2024
8035182
disable fast-jit and lib_pthread_semaphore on Windows
TianlongLiang Oct 16, 2024
6d35d0e
rebase and remove unnecessary wamrc library linking on Windows
TianlongLiang Oct 16, 2024
d165be9
remove trailing spaces
TianlongLiang Oct 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
use multi-line environment variable for llvm lib cache paths for wind…
…ows compatibility
  • Loading branch information
TianlongLiang committed Oct 16, 2024
commit b6e23d09c6746e8c7d94d0f62599d14525227dfe
30 changes: 16 additions & 14 deletions .github/workflows/build_iwasm_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,33 +35,35 @@ jobs:
build:
runs-on: ${{ inputs.runner }}
env:
LLVM_BUILD_SUFFIX: ''
LLVM_EXTRA_PATH1: ''
LLVM_EXTRA_PATH2: ''
LLVM_LIBS_PATH: |
./core/deps/llvm/build/bin
./core/deps/llvm/build/include
./core/deps/llvm/build/lib
./core/deps/llvm/build/libexec
./core/deps/llvm/build/share
steps:
- uses: actions/checkout@v4

# llvm/llvm/cmake/modules and llvm/llvm/include are needed for Windows
- name: Set LLVM Build Suffix and extra llvm directories on Windows
if: inputs.runner == 'windows-latest'
shell: bash
run: |
echo "LLVM_BUILD_SUFFIX=/Release" >> $GITHUB_ENV
echo "LLVM_EXTRA_PATH1=./core/deps/llvm/llvm/cmake/modules" >> $GITHUB_ENV
echo "LLVM_EXTRA_PATH2=./core/deps/llvm/llvm/include" >> $GITHUB_ENV
echo "LLVM_LIBS_PATH<<EOF" >> $GITHUB_ENV
echo "./core/deps/llvm/build/Release/bin" >> $GITHUB_ENV
echo "./core/deps/llvm/build/include" >> $GITHUB_ENV
echo "./core/deps/llvm/build/Release/lib" >> $GITHUB_ENV
echo "./core/deps/llvm/build/libexec" >> $GITHUB_ENV
echo "./core/deps/llvm/build/share" >> $GITHUB_ENV
echo "./core/deps/llvm/llvm/cmake/modules" >> $GITHUB_ENV
echo "./core/deps/llvm/llvm/include" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV

- name: get cached LLVM libraries
id: retrieve_llvm_libs
uses: actions/cache@v4
with:
path: |
./core/deps/llvm/build${{ env.LLVM_BUILD_SUFFIX }}/bin
./core/deps/llvm/build${{ env.LLVM_BUILD_SUFFIX }}/lib
./core/deps/llvm/build/include
./core/deps/llvm/build/libexec
./core/deps/llvm/build/share
${{ env.LLVM_EXTRA_PATH1 }}
${{ env.LLVM_EXTRA_PATH2 }}
${{ env.LLVM_LIBS_PATH }}
key: ${{ inputs.llvm_cache_key }}
fail-on-cache-miss: true

Expand Down
31 changes: 17 additions & 14 deletions .github/workflows/build_llvm_libraries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,12 @@ jobs:
container:
image: ${{ inputs.container_image }}
env:
LLVM_BUILD_SUFFIX: ''
LLVM_EXTRA_PATH1: ''
LLVM_EXTRA_PATH2: ''
LLVM_LIBS_PATH: |
./core/deps/llvm/build/bin
./core/deps/llvm/build/include
./core/deps/llvm/build/lib
./core/deps/llvm/build/libexec
./core/deps/llvm/build/share
outputs:
key: ${{ steps.create_lib_cache_key.outputs.key}}

Expand Down Expand Up @@ -74,27 +77,27 @@ jobs:
run: |
echo "key=0-llvm-libraries-${{ inputs.os }}-${{ inputs.arch }}-${{ steps.get_last_commit.outputs.last_commit }}${{ inputs.cache_key_suffix }}" >> $GITHUB_OUTPUT

# llvm/llvm/cmake/modules and llvm/llvm/include are needed for Windows
# llvm lib paths is different for Windows
- name: Set LLVM Build Suffix and extra llvm directories on Windows
if: inputs.os == 'windows-latest'
shell: bash
run: |
echo "LLVM_BUILD_SUFFIX=/Release" >> $GITHUB_ENV
echo "LLVM_EXTRA_PATH1=./core/deps/llvm/llvm/cmake/modules" >> $GITHUB_ENV
echo "LLVM_EXTRA_PATH2=./core/deps/llvm/llvm/include" >> $GITHUB_ENV
echo "LLVM_LIBS_PATH<<EOF" >> $GITHUB_ENV
echo "./core/deps/llvm/build/Release/bin" >> $GITHUB_ENV
echo "./core/deps/llvm/build/include" >> $GITHUB_ENV
echo "./core/deps/llvm/build/Release/lib" >> $GITHUB_ENV
echo "./core/deps/llvm/build/libexec" >> $GITHUB_ENV
echo "./core/deps/llvm/build/share" >> $GITHUB_ENV
echo "./core/deps/llvm/llvm/cmake/modules" >> $GITHUB_ENV
echo "./core/deps/llvm/llvm/include" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV

- name: Cache LLVM libraries
id: retrieve_llvm_libs
uses: actions/cache@v4
with:
path: |
./core/deps/llvm/build${{ env.LLVM_BUILD_SUFFIX }}/bin
./core/deps/llvm/build${{ env.LLVM_BUILD_SUFFIX }}/lib
./core/deps/llvm/build/include
./core/deps/llvm/build/libexec
./core/deps/llvm/build/share
${{ env.LLVM_EXTRA_PATH1 }}
${{ env.LLVM_EXTRA_PATH2 }}
${{ env.LLVM_LIBS_PATH }}
key: ${{ steps.create_lib_cache_key.outputs.key}}

- uses: actions/cache@v4
Expand Down
32 changes: 18 additions & 14 deletions .github/workflows/build_wamrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,32 +35,36 @@ jobs:
build:
runs-on: ${{ inputs.runner }}
env:
LLVM_BUILD_SUFFIX: ''
LLVM_EXTRA_PATH1: ''
LLVM_EXTRA_PATH2: ''
LLVM_LIBS_PATH: |
./core/deps/llvm/build/bin
./core/deps/llvm/build/include
./core/deps/llvm/build/lib
./core/deps/llvm/build/libexec
./core/deps/llvm/build/share
steps:
- uses: actions/checkout@v4

# llvm lib paths is different for Windows
- name: Set LLVM Build Suffix and extra llvm directories on Windows
if: inputs.os == 'windows-latest'
if: inputs.runner == 'windows-latest'
shell: bash
run: |
echo "LLVM_BUILD_SUFFIX=/Release" >> $GITHUB_ENV
echo "LLVM_EXTRA_PATH1=./core/deps/llvm/llvm/cmake/modules" >> $GITHUB_ENV
echo "LLVM_EXTRA_PATH2=./core/deps/llvm/llvm/include" >> $GITHUB_ENV
echo "LLVM_LIBS_PATH<<EOF" >> $GITHUB_ENV
echo "./core/deps/llvm/build/Release/bin" >> $GITHUB_ENV
echo "./core/deps/llvm/build/include" >> $GITHUB_ENV
echo "./core/deps/llvm/build/Release/lib" >> $GITHUB_ENV
echo "./core/deps/llvm/build/libexec" >> $GITHUB_ENV
echo "./core/deps/llvm/build/share" >> $GITHUB_ENV
echo "./core/deps/llvm/llvm/cmake/modules" >> $GITHUB_ENV
echo "./core/deps/llvm/llvm/include" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV

- name: get cached LLVM libraries
id: retrieve_llvm_libs
uses: actions/cache@v4
with:
path: |
./core/deps/llvm/build${{ env.LLVM_BUILD_SUFFIX }}/bin
./core/deps/llvm/build${{ env.LLVM_BUILD_SUFFIX }}/lib
./core/deps/llvm/build/include
./core/deps/llvm/build/libexec
./core/deps/llvm/build/share
${{ env.LLVM_EXTRA_PATH1 }}
${{ env.LLVM_EXTRA_PATH2 }}
${{ env.LLVM_LIBS_PATH }}
key: ${{ inputs.llvm_cache_key }}
fail-on-cache-miss: true

Expand Down