Added cmake versioning feature #856
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: | |
branches: | |
- '*' | |
pull_request: | |
branches: | |
- '*' | |
env: | |
PACKAGE_NAME: aws-iot-securetunneling-localproxy | |
jobs: | |
osx: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
name: 'Checkout' | |
- name: Install brew dependencies | |
run: | | |
brew install [email protected] zlib cmake wget | |
- name: Install boost | |
working-directory: ${{ github.workspace }} | |
run: | | |
wget https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.gz -O /tmp/boost.tar.gz | |
tar xzvf /tmp/boost.tar.gz | |
cd boost_1_84_0 | |
./bootstrap.sh --with-toolset=clang | |
sudo ./b2 install toolset=clang link=static | |
- name: Install protobuf | |
working-directory: ${{ github.workspace }} | |
run: | | |
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-all-3.17.3.tar.gz -O /tmp/protobuf-all-3.17.3.tar.gz | |
tar xzvf /tmp/protobuf-all-3.17.3.tar.gz | |
cd protobuf-3.17.3 | |
mkdir build_make | |
cd build_make | |
cmake ../cmake | |
make | |
sudo make install | |
- name: Building localproxy | |
working-directory: ${{ github.workspace }} | |
run: | | |
mkdir build | |
cd build | |
cmake .. -DBUILD_TESTS=OFF -DOPENSSL_ROOT_DIR=/usr/local/Cellar/[email protected]/1.1.1t/ -DOPENSSL_LIBRARIES=/usr/local/Cellar/[email protected]/1.1.1t/lib/ | |
make | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: localproxy-mac | |
path: ${{ github.workspace }}/build/bin/localproxy | |
ubuntu: | |
runs-on: ubuntu-latest | |
if: (github.event_name == 'push') || ((github.event_name == 'pull_request') && (github.event.pull_request.head.repo.full_name != github.repository)) | |
steps: | |
- name: 'Checkout' | |
uses: actions/checkout@v2 | |
- name: Install apt-get dependencies | |
run: | | |
sudo apt-get install -y build-essential git python3-dev | |
sudo apt-get install -y wget tar zlib1g-dev libssl-dev openssl cmake | |
sudo apt-get clean -y | |
- name: Install boost | |
working-directory: ${{ github.workspace }} | |
run: | | |
wget https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.gz -O /tmp/boost.tar.gz | |
tar xzvf /tmp/boost.tar.gz | |
cd boost_1_84_0 | |
./bootstrap.sh | |
sudo ./b2 install link=static | |
- name: Install protobuf | |
working-directory: ${{ github.workspace }} | |
run: | | |
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-all-3.17.3.tar.gz -O /tmp/protobuf-all-3.17.3.tar.gz | |
tar xzvf /tmp/protobuf-all-3.17.3.tar.gz | |
cd protobuf-3.17.3 | |
mkdir build_make | |
cd build_make | |
cmake ../cmake | |
make | |
sudo make install | |
- name: install Catch2 | |
working-directory: ${{ github.workspace }} | |
run: | | |
git clone --branch v3.7.0 https://github.com/catchorg/Catch2.git | |
cd Catch2 | |
mkdir build | |
cd build | |
cmake ../ | |
make | |
sudo make install | |
- name: Building localproxy | |
working-directory: ${{ github.workspace }} | |
run: | | |
mkdir build | |
cd build | |
cmake .. -DBUILD_TESTS=OFF | |
make | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: localproxy-ubuntu | |
path: ${{ github.workspace }}/build/bin/localproxy | |
windows: | |
runs-on: windows-2019 | |
if: (github.event_name == 'push') || ((github.event_name == 'pull_request') && (github.event.pull_request.head.repo.full_name != github.repository)) | |
steps: | |
- name: Setup developer command prompt | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
toolset: 14.2 | |
arch: x64 | |
- name: Install OpenSSL | |
run: | | |
Invoke-WebRequest "https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/nasm-2.15.05-win64.zip" -OutFile "nasm-2.15.05-win64.zip" | |
Expand-Archive "nasm-2.15.05-win64.zip" -Force -DestinationPath "C:\NASM" | |
$env:Path += ";C:\NASM\nasm-2.15.05\" | |
Invoke-WebRequest "https://github.com/openssl/openssl/archive/refs/tags/openssl-3.0.12.zip" -OutFile "openssl-3.0.12.zip" | |
Expand-Archive "openssl-3.0.12.zip" -Force | |
cd .\openssl-3.0.12\openssl-openssl-3.0.12\ | |
perl Configure VC-WIN64A | |
nmake | |
nmake install | |
$env:Path += ";C:\Program Files\OpenSSL\bin" | |
- name: Install Catch2 | |
run: | | |
git clone --branch v3.7.0 https://github.com/catchorg/Catch2.git | |
cd Catch2 | |
mkdir build | |
cd build | |
cmake -DBUILD_TESTING=OFF -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release ../ | |
nmake | |
nmake install | |
- name: Install zlib | |
run: | | |
git clone -b v1.2.13 https://github.com/madler/zlib.git | |
cd zlib | |
mkdir build | |
cd build | |
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release ../ | |
nmake | |
nmake install | |
$env:Path += ";C:\Program Files (x86)\zlib\bin" | |
- name: Install boost | |
run: | | |
Invoke-WebRequest "https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.zip" -OutFile "boost_1_84_0.zip" | |
Expand-Archive "boost_1_84_0.zip" -Force | |
cd .\boost_1_84_0\boost_1_84_0\ | |
.\bootstrap.bat | |
.\b2 toolset=msvc-14.2 address-model=64 install define=_WIN32_WINNT=0x0601 define=BOOST_WINAPI_VERSION_WIN7 link=static | |
- name: Install protobuf | |
run: | | |
cd \ | |
Invoke-WebRequest "https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-all-3.17.3.zip" -OutFile "protobuf-all-3.17.3.zip" | |
Expand-Archive protobuf-all-3.17.3.zip | |
cd .\protobuf-all-3.17.3\protobuf-3.17.3\cmake\ | |
mkdir build | |
cd build | |
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../ | |
nmake | |
nmake install | |
$env:Path += ";C:\Program Files (x86)\protobuf\bin" | |
- name: 'Checkout' | |
uses: actions/checkout@v2 | |
- name: Build localproxy | |
working-directory: ${{ github.workspace }} | |
run: | | |
mkdir build | |
cd build | |
cmake -DBUILD_TESTS=OFF -DLINK_STATIC_OPENSSL=OFF -DBOOST_PKG_VERSION=1.84.0 -DWIN32_WINNT=0x0601 -DBoost_USE_STATIC_LIBS=ON -DCMAKE_PREFIX_PATH="C:\Boost;C:\Program Files (x86)\Catch2;C:\Program Files (x86)\protobuf;C:\Program Files\OpenSSL" -G "Visual Studio 16 2019" -A x64 ..\ | |
msbuild localproxy.vcxproj -p:Configuration=Release | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: localproxy-windows | |
path: ${{ github.workspace }}\build\bin\Release\localproxy.exe |