cache build off #273
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
pull_request: | |
jobs: | |
build-on-ubuntu: | |
runs-on: ubuntu-latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN_GITHUB }} | |
steps: | |
- name: Setup cmake | |
uses: jwlawson/actions-setup-cmake@v1.12 | |
with: | |
cmake-version: '3.24.x' | |
- name: Test cmake version | |
run: cmake --version | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
path: wex | |
- name: Download wxWidgets | |
run: | | |
python --version | |
python wex/.github/workflows/download_wx.py wx-3.2.3 | |
dir | |
dir wx-3.2.3 | |
echo "WXMSW3=$GITHUB_WORKSPACE/wx-3.2.3" >>$GITHUB_ENV | |
chmod +x wx-3.2.3/bin/wx-config | |
sudo ln -s $GITHUB_WORKSPACE/wx-3.2.3/bin/wx-config /usr/local/bin/wx-config-3 | |
wx-config-3 --cflags | grep I | |
echo ${GITHUB_WORKSPACE}/wx-3.2.3/bin >> $GITHUB_PATH | |
- name: Install OS dependencies | |
run: | | |
sudo apt-get update --fix-missing | |
sudo apt-get install -y \ | |
build-essential \ | |
freeglut3-dev \ | |
g++ \ | |
libcurl4-openssl-dev \ | |
libfontconfig-dev \ | |
libgl1-mesa-dev \ | |
libgtk2.0-dev \ | |
mesa-common-dev \ | |
unzip | |
# - name: Install wxWidgets | |
# run: | | |
# sudo apt-get install -y libwxgtk*-dev | |
# sudo ln -s $(which wx-config) /usr/local/bin/wx-config-3 | |
# wx-config-3 --cflags | grep I | |
- name: Get git ref of sibling dependency LK | |
run: | | |
ref=$(git ls-remote --exit-code git://github.com/NREL/lk.git refs/heads/develop | awk '{print $1}') | |
echo "ref_of_lk=$ref" | tee --append $GITHUB_ENV | |
- name: Get cached build data of sibling dependency LK | |
uses: actions/cache@v2 | |
id: cachedlk | |
with: | |
path: ${{ env.GH_WORKSPACE }}/lk | |
key: ${{ env.RUNS_ON }}-${{ env.ref_of_lk }}-LK | |
- name: Clone sibling dependency LK | |
if: steps.cachedlk.outputs.cache-hit == 'true' | |
uses: actions/checkout@v2 | |
with: | |
ref: ${{ env.ref_of_lk }} | |
path: lk | |
repository: NREL/lk | |
- name: Build LK | |
if: steps.cachedlk.outputs.cache-hit == 'true' | |
run: | | |
ls | |
ls $WXMSW3 | |
cd $GITHUB_WORKSPACE/lk | |
cmake -Bbuild_linux -DCMAKE_BUILD_TYPE=Debug | |
cmake --build build_linux -j4 | |
- name: Set LKDIR | |
run: | | |
echo "LKDIR=$GITHUB_WORKSPACE/lk" >>$GITHUB_ENV | |
- name: Set LKD_LIB | |
run: | | |
echo "LKD_LIB=$GITHUB_WORKSPACE/lk/build_linux" >>$GITHUB_ENV | |
- name: Set RAPIDJSONDIR | |
run: | | |
echo "RAPIDJSONDIR=$GITHUB_WORKSPACE/ssc" >>$GITHUB_ENV | |
- name: Get git ref of sibling dependency SSC | |
run: | | |
ref=$(git ls-remote --exit-code git://github.com/NREL/ssc.git refs/heads/develop | awk '{print $1}') | |
echo "ref_of_ssc=$ref" | tee --append $GITHUB_ENV | |
- name: Get cached build data of sibling dependency SSC | |
uses: actions/cache@v2 | |
id: cachedssc | |
with: | |
path: ${{ env.GH_WORKSPACE }}/ssc | |
key: ${{ env.RUNS_ON }}-${{ env.ref_of_ssc }}-SSC | |
- name: Clone sibling dependency SSC | |
if: steps.cachedssc.outputs.cache-hit != 'true' | |
uses: actions/checkout@v2 | |
with: | |
ref: ${{ env.ref_of_ssc }} | |
path: ssc | |
repository: NREL/ssc | |
- name: Build WEX | |
run: | | |
cd $GITHUB_WORKSPACE/wex | |
cmake -Bbuild_linux -DCMAKE_BUILD_TYPE=Debug | |
cmake --build build_linux | |
- name: Save static lib, Dview & wexsandbox | |
uses: actions/upload-artifact@v2 | |
with: | |
name: WEX-${{ env.RUNS_ON }}-x86_64 | |
path: | | |
${{ env.GH_WORKSPACE }}/wex/build_linux/tools/DView* | |
${{ env.GH_WORKSPACE }}/wex/build_linux/tools/wexsandbox* | |
${{ env.GH_WORKSPACE }}/wex/build_linux/wex*.a | |
build-on-windows: | |
runs-on: windows-latest | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Download wxWidgets | |
shell: bash | |
run: | | |
curl -L https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.3/wxMSW-3.2.3_vc14x_x64_Dev.7z -o wxMSW-3.2.3_vc14x_x64_Dev.7z | |
mkdir wxMSW-3.2.3_vc14x_x64_Dev | |
7z x wxMSW-3.2.3_vc14x_x64_Dev.7z -o$GITHUB_WORKSPACE/wxMSW-3.2.3_vc14x_x64_Dev | |
curl -L https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.3/wxMSW-3.2.3_vc14x_x64_ReleaseDLL.7z -o wxMSW-3.2.3_vc14x_x64_ReleaseDLL.7z | |
7z x wxMSW-3.2.3_vc14x_x64_ReleaseDLL.7z -o$GITHUB_WORKSPACE/wxMSW-3.2.3_vc14x_x64_ReleaseDLL | |
cp wxMSW-3.2.3_vc14x_x64_ReleaseDLL/lib/vc14x_x64_dll/* wxMSW-3.2.3_vc14x_x64_Dev/lib/vc14x_x64_dll | |
curl -L https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.3/wxWidgets-3.2.3-headers.7z -o wxWidgets-3.2.3-headers.7z | |
7z x wxWidgets-3.2.3-headers.7z -o$GITHUB_WORKSPACE/wxMSW-3.2.3_vc14x_x64_Dev | |
WXMSW3=$GITHUB_WORKSPACE\\wxMSW-3.2.3_vc14x_x64_Dev | |
echo "WXMSW3=$WXMSW3" >> $GITHUB_ENV | |
WXWIN=$GITHUB_WORKSPACE\\wxMSW-3.2.3_vc14x_x64_Dev | |
echo "WXWIN=$WXWIN" >> $GITHUB_ENV | |
- name: Setup cmake | |
uses: jwlawson/actions-setup-cmake@v2 | |
with: | |
cmake-version: '3.24.x' | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
path: wex | |
- name: Get branch name | |
shell: bash | |
run: | | |
# Short name for current branch. base ref is set on push builds, head ref is for pull request builds | |
if [ -z ${GITHUB_HEAD_REF+x} ]; then GIT_BRANCH=${GITHUB_BASE_REF:-${GITHUB_REF#refs/heads/}}; else GIT_BRANCH=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}; fi | |
echo "GIT_BRANCH=$GIT_BRANCH" >> $GITHUB_ENV | |
- name: Determine branches for other repos | |
shell: bash | |
run: | | |
echo "GITHUB_REPOSITORY_OWNER=${GITHUB_REPOSITORY_OWNER}" >> $GITHUB_ENV | |
git ls-remote --heads --exit-code https://github.com/${GITHUB_REPOSITORY_OWNER}/lk.git $GIT_BRANCH | |
if [[ $? != "0" ]]; then echo "LK_BRANCH=develop" >> $GITHUB_ENV; else echo "LK_BRANCH=$GIT_BRANCH" >> $GITHUB_ENV; fi | |
- name: Checkout lk | |
uses: actions/checkout@v2 | |
with: | |
path: lk | |
repository: ${{ env.GITHUB_REPOSITORY_OWNER }}/lk | |
ref: ${{ env.LK_BRANCH }} | |
- name: Checkout ssc | |
uses: actions/checkout@v2 | |
with: | |
path: ssc | |
repository: ${{ env.GITHUB_REPOSITORY_OWNER }}/ssc | |
ref: ${{ env.SSC_BRANCH }} | |
- name: Build LK | |
if: steps.cachedlk.outputs.cache-hit != 'true' | |
run: | | |
cd $env:GITHUB_WORKSPACE/lk | |
mkdir build | |
cd build | |
cmake -G "Visual Studio 17 2022" -DCMAKE_CONFIGURATION_TYPES="Release;Debug" -DCMAKE_SYSTEM_VERSION=10.0 -DSAM_SKIP_TOOLS=1 .. | |
MSBuild.exe .\lk.sln /t:Build /p:Configuration=Release | |
MSBuild.exe .\lk.sln /t:Build /p:Configuration=Debug | |
- name: Set LK paths | |
shell: bash | |
run: | | |
echo "LKDIR=$GITHUB_WORKSPACE/lk" >>$GITHUB_ENV | |
echo "LKD_LIB=$GITHUB_WORKSPACE/lk/build/Release" >>$GITHUB_ENV | |
echo "LK_LIB=$GITHUB_WORKSPACE/lk/build/Release" >>$GITHUB_ENV | |
echo "RAPIDJSONDIR=$GITHUB_WORKSPACE/ssc" >>$GITHUB_ENV | |
- name: Build WEX | |
run: | | |
cd $env:GITHUB_WORKSPACE/wex | |
mkdir build | |
cd build | |
cmake -G "Visual Studio 17 2022" -DCMAKE_CONFIGURATION_TYPES="Release" -DCMAKE_SYSTEM_VERSION=10.0 .. | |
MSBuild.exe .\wex.sln /t:Build /p:Configuration=Release | |
- name: Save static lib, Dview & wexsandbox | |
uses: actions/upload-artifact@v2 | |
with: | |
name: WEX-${{ env.RUNS_ON }}-x86_64 | |
path: | | |
${{ env.GH_WORKSPACE }}/wex/build_linux/tools/DView* | |
${{ env.GH_WORKSPACE }}/wex/build_linux/tools/wexsandbox* | |
${{ env.GH_WORKSPACE }}/wex/build_linux/wex*.a | |