diff options
Diffstat (limited to '.github/workflows/sandbox_w64.yml')
| -rw-r--r-- | .github/workflows/sandbox_w64.yml | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/.github/workflows/sandbox_w64.yml b/.github/workflows/sandbox_w64.yml new file mode 100644 index 0000000..498b690 --- /dev/null +++ b/.github/workflows/sandbox_w64.yml @@ -0,0 +1,105 @@ +env: + QT_VERSION: '5.15.2' + SQLITE_VERSION: '3400000' + SQLITE_RELEASE_YEAR: '2022' + QT_ARCH: 'win32_mingw81' + PYTHON_VERSION: '3.9' + QT_BIN_DIR: ../Qt/5.15.2/mingw81_32/bin + +name: Sandbox/playground + +on: + workflow_dispatch: + inputs: + +jobs: + win: + runs-on: windows-2019 + + steps: + - name: Set up MinGW + uses: egor-tensin/setup-mingw@v2 + with: + platform: x86 + + - name: Cache Qt + id: cache-qt + uses: actions/cache@v3 + with: + path: ${{ github.workspace }}\..\Qt + key: ${{ runner.os }}-${{ env.QT_VERSION }}-Qt-Cache + + - name: Install Qt + uses: jurplel/install-qt-action@v3 + with: + cache: true + version: ${{ env.QT_VERSION }} + host: 'windows' + arch: ${{ env.QT_ARCH }} + # jurplel/install-qt-action has a bug due to which we cannot use ${{ github.workspace }} for the "dir" property, because it will fail. + dir: 'D:/' + setup-python: 'false' + + - uses: actions/setup-python@v4 + with: + python-version: ${{ env.PYTHON_VERSION }} + architecture: 'x86' + + - name: Clone repo + uses: actions/checkout@v3 + with: + ref: ${{ github.event.client_payload.branch }} + + - name: Install dependencies + shell: bash + run: | + 7z x -o".." win_deps/win32_deps.zip + echo "../lib" >> $GITHUB_PATH + + - name: Find zlib + shell: bash + run: | + find ../../ -name "zlib.h" + + - name: Install SQLite3 + shell: bash + run: | + cd .. + curl -L http://sqlite.org/$SQLITE_RELEASE_YEAR/sqlite-amalgamation-$SQLITE_VERSION.zip --output sqlite-amalgamation-$SQLITE_VERSION.zip + 7z x sqlite-amalgamation-$SQLITE_VERSION.zip + cd sqlite-amalgamation-$SQLITE_VERSION + gcc.exe sqlite3.c -Os -fpic -DWIN32 -m32 -I. -shared -o sqlite3.dll \ + -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT \ + -DSQLITE_ENABLE_DBSTAT_VTAB \ + -DSQLITE_ENABLE_BYTECODE_VTAB \ + -DSQLITE_ENABLE_COLUMN_METADATA \ + -DSQLITE_ENABLE_EXPLAIN_COMMENTS \ + -DSQLITE_ENABLE_FTS3 \ + -DSQLITE_ENABLE_FTS4 \ + -DSQLITE_ENABLE_FTS5 \ + -DSQLITE_ENABLE_GEOPOLY \ + -DSQLITE_ENABLE_JSON1 \ + -DSQLITE_ENABLE_RTREE \ + -DSQLITE_ENABLE_MATH_FUNCTIONS + cp -f sqlite3.dll ../lib/ + cp -f sqlite3.h ../include/ + cp -f sqlite3ext.h ../include/ + + - name: Compile additional SQLite3 extensions + shell: bash + run: | + cd .. + mkdir ext + curl -L http://sqlite.org/$SQLITE_RELEASE_YEAR/sqlite-src-$SQLITE_VERSION.zip --output sqlite-src-$SQLITE_VERSION.zip + 7z x sqlite-src-$SQLITE_VERSION.zip + cd sqlite-src-$SQLITE_VERSION/ext + FLAGS="-shared -Os -fpic -DWIN32 -m32 -Imisc -I../../include -L../../lib -lsqlite3" + for f in compress; do + echo "gcc.exe misc/$f.c $FLAGS -lzlib1 -o ../../ext/$f.dll" + gcc.exe misc/$f.c $FLAGS -lzlib1 -o ../../ext/$f.dll + done + for f in csv decimal eval ieee754 percentile rot13 series uint uuid zorder; do + echo "gcc.exe misc/$f.c $FLAGS -o ../../ext/$f.dll" + gcc.exe misc/$f.c $FLAGS -o ../../ext/$f.dll + done + ls -l ../../ext/ |
