Skip to content

Add Windows ARM64 build #1257

Add Windows ARM64 build

Add Windows ARM64 build #1257

Workflow file for this run

name: ubuntu
on:
workflow_dispatch:
push:
paths:
- '**'
- '!.github/**'
- '.github/workflows/ubuntu.yml'
pull_request:
paths:
- '**'
- '!.github/**'
- '.github/workflows/ubuntu.yml'
jobs:
linux:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
wx-version: ['v3.2.8.1']
codelite-variant: ['All', 'Without SFTP support']
include:
- codelite-variant: 'All'
codelite-options: -DWITH_MYSQL=1 -DWITH_POSTGRES=1
- codelite-variant: 'Without SFTP support'
codelite-options: -DENABLE_SFTP=0
steps:
# wxWidgets
- name: Install dependencies for wxWidgets
run: |
sudo apt-get update
sudo apt-get install build-essential cmake gettext git libedit-dev libgtk-3-dev libhunspell-dev libsqlite3-dev libssh-dev pkg-config xterm libmariadb-dev libpq-dev
- name: Checkout WxWidgets
uses: actions/checkout@v4
with:
repository: wxWidgets/wxWidgets
ref: ${{matrix.wx-version}}
submodules: recursive
path: wxWidgets
- name: Build and install wxWidgets
run: |
mkdir -p wxWidgets/build-release
cd wxWidgets/build-release
../configure --disable-debug_flag --with-gtk=3 --enable-stl
make -j$(nproc) && sudo make install
echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib >> $GITHUB_ENV
# CodeLite
- name: Install CodeLite's dependencies
run: sudo apt-get install build-essential cmake git libpcre2-dev libsqlite3-dev libssh-dev bison flex
- name: Checkout CodeLite
uses: actions/checkout@v4
with:
submodules: recursive
- name: Update codelite.pot
if: matrix.codelite-variant == 'All'
run: |
wxrc -g -o /tmp/resources.cpp `find . -type f -name "*.xrc" -not -wholename "./Runtime/rc/menu.macos.xrc" -not -wholename "./Runtime/templates/*" -not -wholename "./submodules/ctags/Units/*"`
xgettext --package-name=CodeLite --copyright-holder="Eran Ifrah" --from-code=UTF-8 --c++ -o translations/codelite.pot --add-location --sort-by-file -k -k_ -kwxTRANSLATE -kwxPLURAL:1,2 /tmp/resources.cpp `find . -type f "(" -name "*.cpp" -or -name "*.h" ")" -not -wholename "./Runtime/templates/*" -not -wholename "./submodules/llama.cpp/*.*" -not -wholename "./submodules/wxdap/dbgcli/*.*" -not -wholename "./submodules/wxsf-code/samples/*.*" -not -wholename "./submodules/wxsqlite3/samples/*.*"`
sed --in-place -e "s/FIRST AUTHOR <EMAIL@ADDRESS>, YEAR/Eran Ifrah <eran.ifrah@gmail.com>, 2007-2025/" -e "s/Copyright (C) YEAR Eran Ifrah/Copyright (C) Eran Ifrah 2007-2025/" -e "s/SOME DESCRIPTIVE TITLE./CodeLite pot file/" translations/codelite.pot
rm /tmp/resources.cpp
# Upload codelite.pot
- name: artifact-pot
if: matrix.codelite-variant == 'All'
uses: actions/upload-artifact@v4
with:
name: codelite-pot-wx-${{matrix.wx-version}}
path: |
translations/codelite.pot
- name: Build, test and install CodeLite
run: |
mkdir build-release
cd build-release
cmake .. -DCMAKE_BUILD_TYPE=Release ${{matrix.codelite-options}} -DCOPY_WX_LIBS=1 -DBUILD_TESTING=1
make -j$(nproc)
sudo make install
ctest --output-on-failure
- name: codelite --version
run: xvfb-run -a codelite --version || exit 0 # codelite --version returns -1