Skip to content

Patches for build script for MacOS binaries. #48

Patches for build script for MacOS binaries.

Patches for build script for MacOS binaries. #48

name: Build CI [Windows x86-64]
on:
push:
paths:
- .github/workflows/build_ci_windows_intel.yml
- assets/**
- examples/**
- include/**
- installer/**
- lib/**
- src/**
- std/**
- test/**
- tools/**
- build.py
branches:
- main
jobs:
build:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: >-
base
brotli
bsdtar
bzip2
ca-certificates
coreutils
curl
dash
db
gawk
gcc-libs
getent
gettext
git
gmp
gnupg
gzip
heimdal
heimdal-libs
inetutils
libargp
libasprintf
libassuan
libbz2
libcbor
libcurl
libdb
libedit
libexpat
libffi
libfido2
libgcrypt
libgdbm
libgettextpo
libgnutls
libgpg-error
libhogweed
libiconv
libidn2
libintl
libksba
liblz4
liblzma
libnettle
libnghttp2
libnpth
libopenssl
libp11-kit
libpcre
libpcre2_8
libpsl
libreadline
libsqlite
libssh2
libtasn1
libunistring
libutil-linux
libxcrypt
libzstd
lzip
mingw-w64-x86_64-7zip
mingw-w64-x86_64-adwaita-icon-theme
mingw-w64-x86_64-adwaita-icon-theme-legacy
mingw-w64-x86_64-atk
mingw-w64-x86_64-atkmm
mingw-w64-x86_64-binutils
mingw-w64-x86_64-brotli
mingw-w64-x86_64-bzip2
mingw-w64-x86_64-c-ares
mingw-w64-x86_64-ca-certificates
mingw-w64-x86_64-cairo
mingw-w64-x86_64-cairomm
mingw-w64-x86_64-crt-git
mingw-w64-x86_64-curl
mingw-w64-x86_64-dbus
mingw-w64-x86_64-double-conversion
mingw-w64-x86_64-egl-headers
mingw-w64-x86_64-expat
mingw-w64-x86_64-fontconfig
mingw-w64-x86_64-freetype
mingw-w64-x86_64-fribidi
mingw-w64-x86_64-gcc
mingw-w64-x86_64-gcc-libs
mingw-w64-x86_64-gdb
mingw-w64-x86_64-gdb-multiarch
mingw-w64-x86_64-gdk-pixbuf2
mingw-w64-x86_64-gettext-libtextstyle
mingw-w64-x86_64-gettext-runtime
mingw-w64-x86_64-gettext-tools
mingw-w64-x86_64-giflib
mingw-w64-x86_64-gles-headers
mingw-w64-x86_64-glew
mingw-w64-x86_64-glfw
mingw-w64-x86_64-glib2
mingw-w64-x86_64-glibmm
mingw-w64-x86_64-gmp
mingw-w64-x86_64-gnutls
mingw-w64-x86_64-graphite2
mingw-w64-x86_64-gtk-update-icon-cache
mingw-w64-x86_64-gtk3
mingw-w64-x86_64-gtkmm3
mingw-w64-x86_64-gumbo-parser
mingw-w64-x86_64-harfbuzz
mingw-w64-x86_64-headers-git
mingw-w64-x86_64-hicolor-icon-theme
mingw-w64-x86_64-hidapi
mingw-w64-x86_64-icu
mingw-w64-x86_64-isl
mingw-w64-x86_64-jbigkit
mingw-w64-x86_64-json-glib
mingw-w64-x86_64-lerc
mingw-w64-x86_64-libb2
mingw-w64-x86_64-libdatrie
mingw-w64-x86_64-libdeflate
mingw-w64-x86_64-libepoxy
mingw-w64-x86_64-libffi
mingw-w64-x86_64-libiconv
mingw-w64-x86_64-libidn2
mingw-w64-x86_64-libjpeg-turbo
mingw-w64-x86_64-libmangle-git
mingw-w64-x86_64-libpng
mingw-w64-x86_64-libpsl
mingw-w64-x86_64-librsvg
mingw-w64-x86_64-libsigc++
mingw-w64-x86_64-libssh2
mingw-w64-x86_64-libsystre
mingw-w64-x86_64-libtasn1
mingw-w64-x86_64-libthai
mingw-w64-x86_64-libtiff
mingw-w64-x86_64-libtre
mingw-w64-x86_64-libunistring
mingw-w64-x86_64-libwebp
mingw-w64-x86_64-libwinpthread-git
mingw-w64-x86_64-libxml2
mingw-w64-x86_64-libzip
mingw-w64-x86_64-litehtml
mingw-w64-x86_64-lzo2
mingw-w64-x86_64-make
mingw-w64-x86_64-md4c
mingw-w64-x86_64-mpc
mingw-w64-x86_64-mpdecimal
mingw-w64-x86_64-mpfr
mingw-w64-x86_64-ncurses
mingw-w64-x86_64-nettle
mingw-w64-x86_64-nghttp2
mingw-w64-x86_64-nghttp3
mingw-w64-x86_64-ngtcp2
mingw-w64-x86_64-ntldd
mingw-w64-x86_64-openmp
mingw-w64-x86_64-openssl
mingw-w64-x86_64-p11-kit
mingw-w64-x86_64-pango
mingw-w64-x86_64-pangomm
mingw-w64-x86_64-pcre2
mingw-w64-x86_64-pdcurses
mingw-w64-x86_64-pixman
mingw-w64-x86_64-pkg-config
mingw-w64-x86_64-python
mingw-w64-x86_64-python-packaging
mingw-w64-x86_64-python-py-cpuinfo
mingw-w64-x86_64-qt-creator
mingw-w64-x86_64-qt5-base
mingw-w64-x86_64-qt6-5compat
mingw-w64-x86_64-qt6-base
mingw-w64-x86_64-qt6-declarative
mingw-w64-x86_64-qt6-quick3d
mingw-w64-x86_64-qt6-serialport
mingw-w64-x86_64-qt6-shadertools
mingw-w64-x86_64-qt6-svg
mingw-w64-x86_64-qt6-tools
mingw-w64-x86_64-qt6-translations
mingw-w64-x86_64-readline
mingw-w64-x86_64-shared-mime-info
mingw-w64-x86_64-sqlite3
mingw-w64-x86_64-tcl
mingw-w64-x86_64-termcap
mingw-w64-x86_64-tk
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-tools-git
mingw-w64-x86_64-tzdata
mingw-w64-x86_64-vulkan-headers
mingw-w64-x86_64-vulkan-loader
mingw-w64-x86_64-windows-default-manifest
mingw-w64-x86_64-wineditline
mingw-w64-x86_64-winpthreads-git
mingw-w64-x86_64-winstorecompat-git
mingw-w64-x86_64-xxhash
mingw-w64-x86_64-xz
mingw-w64-x86_64-yaml-cpp
mingw-w64-x86_64-zlib
mingw-w64-x86_64-zstd
ncurses
nettle
openssh
openssl
xz
zip
zlib
zstd
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2
with:
msbuild-architecture: x64
- name: Setup .NET SDK
uses: actions/setup-dotnet@v4
with:
dotnet-version: '9.0.300'
- name: Install WiX Toolset v4
shell: pwsh
run: dotnet tool install --global wix
- name: Checkout code
run:
git clone https://github.com/rhea-language/rhea
- name: Build Rhea
run: |
cd rhea
pwd
where g++
python build.py
- name: Build WiX project
shell: pwsh
run: |
cd rhea\installer\RheaWindowsInstaller
nuget restore RheaWindowsInstaller.sln
msbuild RheaWindowsInstaller.sln /p:Configuration=Release /p:Platform="x64"
mv bin\x64\Release\en-US\RheaWindowsInstaller.msi ..\..\dist\rhea-win-x86_64-1.0.0.msi
- name: Set Environment Path
shell: bash
run: |
cd rhea
echo "RHEA_PATH=$PWD/dist/rhea-lang" >> $GITHUB_ENV
- name: Build verification
shell: bash
run: |
cd rhea
./dist/rhea-lang/bin/rhea
ls -R dist
- name: Run test scripts
shell: cmd
run: |
cd rhea
setx RHEA_PATH %cd%\dist\rhea-lang /M
echo %RHEA_PATH%
.\dist\rhea-lang\bin\rhea .\test\arithmetic.rhea
.\dist\rhea-lang\bin\rhea .\test\array.rhea
.\dist\rhea-lang\bin\rhea .\test\digits.rhea
.\dist\rhea-lang\bin\rhea .\test\error_handling.rhea
.\dist\rhea-lang\bin\rhea .\test\flow.rhea
.\dist\rhea-lang\bin\rhea .\test\func.rhea
.\dist\rhea-lang\bin\rhea .\test\lock.rhea
.\dist\rhea-lang\bin\rhea .\test\loop.rhea
.\dist\rhea-lang\bin\rhea .\test\native.rhea
.\dist\rhea-lang\bin\rhea .\test\parallel.rhea
.\dist\rhea-lang\bin\rhea .\test\regex.rhea
.\dist\rhea-lang\bin\rhea .\test\test.rhea -t
.\dist\rhea-lang\bin\rhea .\test\types.rhea
- name: Run examples
shell: cmd
run: |
cd rhea
set RHEA_PATH=%cd%\dist\rhea-lang
.\dist\rhea-lang\bin\rhea examples\99-beers.rhea
.\dist\rhea-lang\bin\rhea examples\hello.rhea
.\dist\rhea-lang\bin\rhea examples\http-get.rhea
.\dist\rhea-lang\bin\rhea examples\logic-gate-ai.rhea
.\dist\rhea-lang\bin\rhea examples\zip-create.rhea
- name: Zip the Built Files
shell: pwsh
run: |
cd rhea
Compress-Archive -Path .\dist\rhea-lang -DestinationPath .\dist\rhea-win-x86_64-1.0.0.zip
Remove-Item -Path .\dist\rhea-lang -Recurse -Force
- name: Upload dist folder
uses: actions/upload-artifact@v4
with:
name: rhea-windows-x86_64
path: rhea/dist
retention-days: 1