-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #74 from KhiopsML/7-build-nsis-khiops-nocode-insta…
…ller-in-the-ci 7 build nsis khiops nocode installer in the ci
- Loading branch information
Showing
54 changed files
with
2,090 additions
and
537 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
--- | ||
name: Test Khiops Installation | ||
description: Tests a Khiops installation on the Iris dataset | ||
runs: | ||
using: composite | ||
steps: | ||
# Python install: we don't use the setup-python action because of the following error: | ||
# python3: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by python3) | ||
- name: Python setup for Linux | ||
if: runner.os == 'Linux' | ||
shell: bash | ||
run: | | ||
if [ -d "/etc/apt" ] | ||
then | ||
apt-get install -y python3 > /dev/null | ||
else | ||
yum install -y python3.11 | ||
fi | ||
echo "PYTHON=python3" >> "$GITHUB_ENV" | ||
- name: Python setup for Windows or macOS | ||
if: runner.os == 'Windows' || runner.os == 'macOS' | ||
shell: bash | ||
run: echo "PYTHON=python" >> "$GITHUB_ENV" | ||
- name: Set the name for the khiops laucher script | ||
shell: bash | ||
run: | | ||
if [[ $RUNNER_OS == "Windows" ]] | ||
then | ||
# Put the full path in windows since bash doesn't find ".cmd" files | ||
# in the path even if they are there | ||
modl_path=$(which MODL) | ||
khiops_bin_dir=$(dirname "$modl_path") | ||
KHIOPS_SCRIPT="$khiops_bin_dir/khiops.cmd" | ||
KHIOPS_CC_SCRIPT="$khiops_bin_dir/khiops_coclustering.cmd" | ||
echo "KHIOPS_SCRIPT=$KHIOPS_SCRIPT" >> "$GITHUB_ENV" | ||
echo "KHIOPS_CC_SCRIPT=$KHIOPS_CC_SCRIPT" >> "$GITHUB_ENV" | ||
else | ||
echo "KHIOPS_SCRIPT=khiops" >> "$GITHUB_ENV" | ||
echo "KHIOPS_CC_SCRIPT=khiops_coclustering" >> "$GITHUB_ENV" | ||
fi | ||
- name: Check Khiops installation | ||
shell: bash | ||
run: | | ||
"$KHIOPS_SCRIPT" -v | ||
"$KHIOPS_CC_SCRIPT" -v | ||
- name: Run Khiops tests | ||
shell: bash | ||
run: | | ||
cd test/LearningTest/TestKhiops/Standard/Iris/ | ||
"$KHIOPS_SCRIPT" -b -i test.prm -e results/err.txt | ||
cd - | ||
- name: Run Khiops Coclustering tests | ||
shell: bash | ||
run: | | ||
cd test/LearningTest/TestCoclustering/Standard/Iris/ | ||
"$KHIOPS_CC_SCRIPT" -b -i test.prm -e results/err.txt | ||
cd - | ||
- name: Check the test results | ||
shell: bash | ||
run: |- | ||
touch test/LearningTest/TestCoclustering/Standard/Iris/results/time.log | ||
touch test/LearningTest/TestKhiops/Standard/Iris/results/time.log | ||
echo "Check test results" | ||
cd test/LearningTest/cmd/python/ | ||
$PYTHON test_khiops.py Khiops nul Standard | ||
$PYTHON test_khiops.py Coclustering nul Standard | ||
$PYTHON apply_command.py errors ../../TestKhiops/Standard/ Iris | tee /tmp/khiops-log.txt | ||
$PYTHON apply_command.py errors ../../TestCoclustering/Standard/ Iris | tee /tmp/coclustering-log.txt | ||
if (grep -q error /tmp/khiops-log.txt || grep -q error /tmp/coclustering-log.txt); then | ||
echo "::error::Errors in Khiops run" | ||
false | ||
fi |
This file was deleted.
Oops, something went wrong.
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
--- | ||
name: Build NSIS Windows installer | ||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
paths: | ||
- '**CMakeLists.txt' | ||
- packaging/windows/nsis/*.nsh | ||
- packaging/windows/nsis/*.nsi | ||
push: | ||
tags: [v*] | ||
jobs: | ||
build-nsis-installer: | ||
outputs: | ||
khiops-package-version: ${{ steps.get-version.outputs.khiops-package-version }} | ||
name: Build NSIS Windows installer | ||
runs-on: windows-latest | ||
steps: | ||
- name: Obtain checkout ref | ||
shell: bash | ||
run: | | ||
# We take the "pull request head" ref (by default it is a merged one) | ||
if [[ "${{ github.event_name }}" == "pull_request" ]] | ||
then | ||
CHECKOUT_REF="${{ github.event.pull_request.head.sha }}" | ||
# Otherwise the default checkout action ref | ||
else | ||
CHECKOUT_REF="${{ github.ref_name }}" | ||
fi | ||
echo "CHECKOUT_REF=$CHECKOUT_REF" >> $GITHUB_ENV | ||
echo "Checkout ref: $CHECKOUT_REF" | ||
- name: Checkout sources | ||
uses: actions/[email protected] | ||
with: | ||
ref: ${{ env.CHECKOUT_REF }} | ||
- name: Put the package version on the environment and output | ||
id: get-version | ||
shell: bash | ||
run: | | ||
# Build the versions | ||
KHIOPS_PACKAGE_VERSION="$(./scripts/khiops-package-version ${{ env.CHECKOUT_REF }})" | ||
KHIOPS_PACKAGE_REDUCED_VERSION="$(echo $KHIOPS_PACKAGE_VERSION | cut -d'-' -f1)" | ||
echo "KHIOPS_PACKAGE_VERSION=$KHIOPS_PACKAGE_VERSION" >> "$GITHUB_ENV" | ||
echo "KHIOPS_PACKAGE_REDUCED_VERSION=$KHIOPS_PACKAGE_REDUCED_VERSION" >> "$GITHUB_ENV" | ||
echo "khiops-package-version=$KHIOPS_PACKAGE_VERSION" >> "$GITHUB_OUTPUT" | ||
- name: Download Windows install assets | ||
uses: robinraju/[email protected] | ||
with: | ||
repository: khiopsml/khiops-win-install-assets | ||
latest: true | ||
- name: Extract Windows installer assets and load assets-info.env | ||
shell: bash | ||
run: | | ||
assets_tar_gz=$(ls khiops-win-install-assets*.tar.gz) | ||
tar -zxvf "$assets_tar_gz" | ||
cat assets/assets-info.env >> "$GITHUB_ENV" | ||
- name: Build Khiops binaries | ||
uses: ./.github/actions/build-khiops | ||
with: | ||
preset-name: windows-msvc-release | ||
targets: MODL MODL_Coclustering norm_jar khiops_jar | ||
override-flags: -DTESTING=OFF -DBUILD_JARS=ON | ||
- name: Build NSIS package | ||
shell: pwsh | ||
run: |- | ||
cd ./packaging/windows/nsis | ||
makensis ` | ||
/DKHIOPS_VERSION=${{ env.KHIOPS_PACKAGE_VERSION }} ` | ||
/DKHIOPS_REDUCED_VERSION=${{ env.KHIOPS_PACKAGE_REDUCED_VERSION }} ` | ||
/DKHIOPS_WINDOWS_BUILD_DIR=..\..\..\build\windows-msvc-release ` | ||
/DJRE_INSTALLER_PATH=..\..\..\assets\${{ env.JRE_FILENAME }} ` | ||
/DJRE_VERSION=${{ env.JRE_VERSION }} ` | ||
/DMSMPI_INSTALLER_PATH=..\..\..\assets\${{ env.MSMPI_FILENAME }} ` | ||
/DMSMPI_VERSION=${{ env.MSMPI_VERSION }} ` | ||
/DKHIOPS_VIZ_INSTALLER_PATH=..\..\..\assets\${{ env.KHIOPS_VIZ_FILENAME }} ` | ||
/DKHIOPS_COVIZ_INSTALLER_PATH=..\..\..\assets\${{ env.KHIOPS_COVIZ_FILENAME }} ` | ||
/DKHIOPS_SAMPLES_DIR=..\..\..\assets\samples ` | ||
/DKHIOPS_DOC_DIR=..\..\..\assets\doc ` | ||
khiops.nsi | ||
- name: Upload installer as an artifact | ||
uses: actions/[email protected] | ||
with: | ||
name: khiops-installer | ||
path: ./packaging/windows/nsis/khiops-${{ env.KHIOPS_PACKAGE_VERSION }}-setup.exe | ||
test-nsis-installer: | ||
name: Test NSIS Windows installer | ||
needs: build-nsis-installer | ||
runs-on: windows-2019 | ||
steps: | ||
- name: Download NSIS installer artifact | ||
uses: actions/[email protected] | ||
with: | ||
name: khiops-installer | ||
- name: Install Khiops | ||
shell: pwsh | ||
run: | | ||
# Execute the installer | ||
$ErrorActionPreference = 'Stop' | ||
$ProgressPreference = 'SilentlyContinue' | ||
Start-Process ` | ||
-FilePath .\khiops-${{ needs.build-nsis-installer.outputs.khiops-package-version }}-setup.exe ` | ||
-ArgumentList '/S' ` | ||
-Wait | ||
# Add Khiops and MPI to the path | ||
$Env:Path += ";${Env:ProgramFiles}\khiops\bin;${Env:ProgramFiles}\Microsoft MPI\Bin" | ||
echo "PATH=${Env:PATH}" >> ${Env:GITHUB_ENV} | ||
echo ${Env:GITHUB_ENV} | ||
type ${Env:GITHUB_ENV} | ||
- name: Checkout the khiops sources | ||
uses: actions/checkout@v3 | ||
- name: Test the installation | ||
uses: ./.github/actions/test-khiops-install |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,6 @@ | |
name: Run pre-commit checks | ||
on: | ||
pull_request: | ||
push: | ||
workflow_dispatch: | ||
jobs: | ||
pre-commit-checks: | ||
|
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
Oops, something went wrong.