Skip to content

added a windows release github action #1

added a windows release github action

added a windows release github action #1

name: matador@windows:release
on:
push:
branches:
- develop
paths-ignore:
- .github/workflows/linux.yml
- .github/workflows/release.yml
- .github/workflows/coverage.yml
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
INSTALL_LOCATION: ".local"
jobs:
build:
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
- name: cache dependencies
uses: actions/cache@v3
id: cache
with:
path: ${{env.INSTALL_LOCATION}}
key: ${{runner.os}}-dependencies
- name: Install SQLite
shell: cmd
run: |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
choco install sqlite
cd /D C:\ProgramData\chocolatey\lib\SQLite\tools
lib.exe /machine:x64 /def:sqlite3.def /out:sqlite3.lib
mkdir lib
copy sqlite3.* lib\
- name: Install SQLite Header
shell: cmd
run: |
cd /D C:\ProgramData\chocolatey\lib\SQLite\tools
for /f "tokens=2 delims=|" %%a in ('choco list sqlite -r --local-only --exact') do set VERSION=%%a
echo "SQLite Version: %VERSION%"
rem Extract major, minor, and patch components
for /f "tokens=1-3 delims=." %%i in ("%VERSION%") do (
set MAJOR=%%i
set MINOR=00%%j
set PATCH=00%%k
)
set MAJOR=%MAJOR:~-2%
set MINOR=%MINOR:~-2%
set PATCH=%PATCH:~-2%
set FORMATTED_VERSION=%MAJOR%%MINOR%%PATCH%00
set SQLITE3_FILE="sqlite-amalgamation-%FORMATTED_VERSION%.zip"
echo "Retrieving SQLite Amalgamation File: %SQLITE3_FILE%"
curl -L "https://www.sqlite.org/2023/sqlite-amalgamation-%FORMATTED_VERSION%.zip" --output %SQLITE3_FILE%
7z x %SQLITE3_FILE%
mkdir include
copy sqlite-amalgamation-%FORMATTED_VERSION%\sqlite3*.h include\
dir include
- name: Set variables for SQLite
run: |
'C:\ProgramData\chocolatey\lib\SQLite\tools' >> $env:GITHUB_PATH
"SQLITE3_DIR=C:\ProgramData\chocolatey\lib\SQLite\tools" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Install mysql
shell: cmd
run: choco install mysql
- name: Set MySQL variables
run: |
'C:\tools\mysql\current\lib' >> $env:GITHUB_PATH
- name: CMake Version
run: cmake --version
- name: Print Path
run: $env:PATH
- name: Configure CMake
run: >
cmake -B ${{github.workspace}}/build
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
-DCMAKE_INSTALL_PREFIX="$HOME/$env:INSTALL_LOCATION"
# - name: Build
# run: >
# cmake --build ${{github.workspace}}/build
# --config ${{env.BUILD_TYPE}}
# --target matador
# - name: List Debug
# working-directory: ${{github.workspace}}/build/Debug/bin/Debug
# run: dir
# - name: Test
# working-directory: ${{github.workspace}}/build
# run: ctest --verbose -C ${{env.BUILD_TYPE}}