Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP [ENH] Ci linux using cl scripts #820

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/buildqtbinaries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:

jobs:
GenerateLinuxStaticBinaries:
runs-on: ubuntu-16.04
runs-on: ubuntu-18.04

steps:
- name: Clone repository
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/coverity.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:

jobs:
ScanLinux:
runs-on: ubuntu-16.04
runs-on: ubuntu-18.04
steps:
- name: Clone repository
uses: actions/checkout@v2
Expand All @@ -17,7 +17,7 @@ jobs:
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: 5.10.1
version: 5.12.5
modules: qtcharts
- name: Coverity scripts
run: |
Expand Down Expand Up @@ -58,7 +58,7 @@ jobs:
--form version=$SHA \
--form description="Github Actions build" \
$UPLOAD_URL)
echo "$response"
echo "$response"
status_code=$(echo "$response" | sed -n '$p')
env:
COVTOKEN: ${{ secrets.COVERITY_TOKEN }}
75 changes: 43 additions & 32 deletions .github/workflows/pullrequest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ jobs:
fail-fast: false
max-parallel: 3
matrix:
qt: [5.10.1]
os: [ubuntu-16.04, macos-latest, windows-2016]
qt: [5.12.5]
os: [ubuntu-18.04, macos-latest, windows-2016]

steps:
- name: Clone repository
Expand All @@ -29,7 +29,7 @@ jobs:
git submodule update --init applications/mne_scan/plugins/brainflowboard/brainflow
git submodule update --init applications/mne_scan/plugins/lsladapter/liblsl
- name: Install Qt (Linux|MacOS)
if: (matrix.os == 'ubuntu-16.04') || (matrix.os == 'macos-latest')
if: (matrix.os == 'ubuntu-18.04') || (matrix.os == 'macos-latest')
uses: jurplel/install-qt-action@v2
with:
version: ${{ matrix.qt }}
Expand All @@ -56,7 +56,7 @@ jobs:
cmake -G "Visual Studio 15 2017" -A x64 -DMSVC_RUNTIME=dynamic -DCMAKE_SYSTEM_VERSION=8.1 -DCMAKE_INSTALL_PREFIX="$env:GITHUB_WORKSPACE\applications\mne_scan\plugins\brainflowboard\brainflow\installed" ..
cmake --build . --target install --config Release
- name: Compile BrainFlow submodule (Linux|MacOS)
if: (matrix.os == 'ubuntu-16.04') || (matrix.os == 'macos-latest')
if: (matrix.os == 'ubuntu-18.04') || (matrix.os == 'macos-latest')
run: |
cd applications/mne_scan/plugins/brainflowboard/brainflow
mkdir build
Expand All @@ -73,7 +73,7 @@ jobs:
cmake .. -G "Visual Studio 15 2017" -A x64
cmake --build . --config Release --target install
- name: Compile LSL submodule (Linux|MacOS)
if: (matrix.os == 'ubuntu-16.04') || (matrix.os == 'macos-latest')
if: (matrix.os == 'ubuntu-18.04') || (matrix.os == 'macos-latest')
run: |
cd applications/mne_scan/plugins/lsladapter/liblsl
mkdir build
Expand All @@ -82,7 +82,7 @@ jobs:
make
make install
- name: Configure and compile MNE-CPP (Linux|MacOS)
if: (matrix.os == 'ubuntu-16.04') || (matrix.os == 'macos-latest')
if: (matrix.os == 'ubuntu-18.04') || (matrix.os == 'macos-latest')
run: |
qmake -r MNECPP_CONFIG+=noTests MNECPP_CONFIG+=withBrainFlow MNECPP_CONFIG+=withLsl MNECPP_CONFIG+=withAppBundles
make -j4
Expand All @@ -94,9 +94,9 @@ jobs:
Get-Content "$env:temp\vcvars.txt" | Foreach-Object { if ($_ -match "^(.*?)=(.*)$") { Set-Content "env:\$($matches[1])" $matches[2] } }
qmake -r MNECPP_CONFIG+=noTests MNECPP_CONFIG+=withBrainFlow MNECPP_CONFIG+=withLsl
jom -j4
- name: Deploy binaries
- name: Deploy binaries
run: |
./tools/deployment/deploy.bat dynamic pack
./tools/deployment/deploy.sh.bat dynamic pack

MaxQtDynamic:
runs-on: ${{ matrix.os }}
Expand All @@ -106,7 +106,7 @@ jobs:
max-parallel: 3
matrix:
qt: [5.15.2]
os: [ubuntu-16.04, macos-latest, windows-2019]
os: [ubuntu-18.04, macos-latest, windows-2019]

steps:
- name: Clone repository
Expand All @@ -121,7 +121,7 @@ jobs:
git submodule update --init applications/mne_scan/plugins/brainflowboard/brainflow
git submodule update --init applications/mne_scan/plugins/lsladapter/liblsl
- name: Install Qt (Linux|MacOS)
if: (matrix.os == 'ubuntu-16.04') || (matrix.os == 'macos-latest')
if: (matrix.os == 'ubuntu-18.04') || (matrix.os == 'macos-latest')
uses: jurplel/install-qt-action@v2
with:
version: ${{ matrix.qt }}
Expand All @@ -148,7 +148,7 @@ jobs:
cmake -G "Visual Studio 16 2019" -A x64 -DMSVC_RUNTIME=dynamic -DCMAKE_SYSTEM_VERSION=8.1 -DCMAKE_INSTALL_PREFIX="$env:GITHUB_WORKSPACE\applications\mne_scan\plugins\brainflowboard\brainflow\installed" ..
cmake --build . --target install --config Release
- name: Compile BrainFlow submodule (Linux|MacOS)
if: (matrix.os == 'ubuntu-16.04') || (matrix.os == 'macos-latest')
if: (matrix.os == 'ubuntu-18.04') || (matrix.os == 'macos-latest')
run: |
cd applications/mne_scan/plugins/brainflowboard/brainflow
mkdir build
Expand All @@ -165,7 +165,7 @@ jobs:
cmake .. -G "Visual Studio 16 2019" -A x64
cmake --build . --config Release --target install
- name: Compile LSL submodule (Linux|MacOS)
if: (matrix.os == 'ubuntu-16.04') || (matrix.os == 'macos-latest')
if: (matrix.os == 'ubuntu-18.04') || (matrix.os == 'macos-latest')
run: |
cd applications/mne_scan/plugins/lsladapter/liblsl
mkdir build
Expand All @@ -174,7 +174,7 @@ jobs:
make
make install
- name: Configure and compile MNE-CPP (Linux|MacOS)
if: (matrix.os == 'ubuntu-16.04') || (matrix.os == 'macos-latest')
if: (matrix.os == 'ubuntu-18.04') || (matrix.os == 'macos-latest')
run: |
qmake -r MNECPP_CONFIG+=noTests MNECPP_CONFIG+=withBrainFlow MNECPP_CONFIG+=withLsl MNECPP_CONFIG+=withAppBundles
make -j4
Expand All @@ -188,16 +188,16 @@ jobs:
jom -j4
- name: Deploy binaries
run: |
./tools/deployment/deploy.bat dynamic pack
./tools/deployment/deploy.sh.bat dynamic pack

QtStatic:
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
max-parallel: 3
matrix:
os: [ubuntu-16.04, macos-latest, windows-2019]
os: [ubuntu-18.04, macos-latest, windows-2019]

steps:
- name: Clone repository
Expand All @@ -208,17 +208,28 @@ jobs:
python-version: '3.7'
architecture: 'x64'
- name: Install OpenGL (Linux)
if: matrix.os == 'ubuntu-16.04'
if: matrix.os == 'ubuntu-18.04'
run: |
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get update -q
sudo apt-get install build-essential libgl1-mesa-dev
sudo apt-get install build-essential libgl1-mesa-dev libicu55
- name: Install Qt (Linux)
if: matrix.os == 'ubuntu-16.04'
run: |
# Download the pre-built static version of Qt, which was created with the generateBinaries.yml workflow
wget -O qt5_5152_static_binaries_linux.tar.gz https://www.dropbox.com/s/cm50t5fl62rspdl/qt5_5152_static_binaries_linux.tar.gz?dl=1
mkdir ../Qt5_binaries
tar xvzf qt5_5152_static_binaries_linux.tar.gz -C ../ -P
if: matrix.os == 'ubuntu-18.04'
run: |
cd ..
git clone https://code.qt.io/qt/qt5.git -b 5.15.2
cd qt5
./init-repository -f --module-subset=qtbase,qtcharts,qtsvg,qt3d
# Create shadow build folder
cd ..
mkdir qt5_shadow
cd qt5_shadow
# Configure Qt5
../qt5/configure -static -release -prefix "../Qt5_binaries" -skip webengine -nomake tools -nomake tests -nomake examples -no-dbus -no-ssl -no-pch -opensource -confirm-license -bundled-xcb-xinput -qt-libpng -qt-pcre
make module-qtbase module-qtsvg module-qtcharts module-qt3d -j4
make install -j4
cd ..
cd mne-cpp
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why would you recompile qt from scratch every time we trigger a CI job?

- name: Install Qt (MacOS)
if: matrix.os == 'macos-latest'
run: |
Expand All @@ -238,7 +249,7 @@ jobs:
expand-archive -path "jom.zip"
echo "D:\a\mne-cpp\mne-cpp\jom" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Configure and compile MNE-CPP (Linux|MacOS)
if: (matrix.os == 'ubuntu-16.04') || (matrix.os == 'macos-latest')
if: (matrix.os == 'ubuntu-18.04') || (matrix.os == 'macos-latest')
run: |
../Qt5_binaries/bin/qmake -r MNECPP_CONFIG+=noTests MNECPP_CONFIG+=static
make -j4
Expand All @@ -252,7 +263,7 @@ jobs:
jom -j4
- name: Deploy binaries
run: |
./tools/deployment/deploy.bat static pack
./tools/deployment/deploy.sh.bat static pack

Tests:
runs-on: ${{ matrix.os }}
Expand All @@ -261,7 +272,7 @@ jobs:
fail-fast: false
max-parallel: 3
matrix:
os: [ubuntu-16.04, macos-latest, windows-2019]
os: [ubuntu-18.04, macos-latest, windows-2019]

steps:
- name: Clone repository
Expand All @@ -274,11 +285,11 @@ jobs:
python-version: '3.7'
architecture: 'x64'
- name: Install Codecov
if: matrix.os == 'ubuntu-16.04'
if: matrix.os == 'ubuntu-18.04'
run: |
sudo pip install codecov
- name: Install Qt (Linux|MacOS)
if: (matrix.os == 'ubuntu-16.04') || (matrix.os == 'macos-latest')
if: (matrix.os == 'ubuntu-18.04') || (matrix.os == 'macos-latest')
uses: jurplel/install-qt-action@v2
with:
version: 5.15.2
Expand All @@ -297,7 +308,7 @@ jobs:
expand-archive -path "jom.zip"
echo "D:\a\mne-cpp\mne-cpp\jom" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Configure and compile MNE-CPP (Linux)
if: matrix.os == 'ubuntu-16.04'
if: matrix.os == 'ubuntu-18.04'
run: |
qmake -r MNECPP_CONFIG+=withCodeCov MNECPP_CONFIG+=noApplications MNECPP_CONFIG+=noExamples
make -j4
Expand All @@ -315,7 +326,7 @@ jobs:
qmake -r MNECPP_CONFIG+=noApplications MNECPP_CONFIG+=noExamples
jom -j4
- name: Run tests (Linux)
if: matrix.os == 'ubuntu-16.04'
if: matrix.os == 'ubuntu-18.04'
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
QTEST_FUNCTION_TIMEOUT: 900000
Expand All @@ -335,7 +346,7 @@ jobs:
./tools/testing/test_win.ps1

Doxygen:
runs-on: ubuntu-16.04
runs-on: ubuntu-18.04

steps:
- name: Clone repository
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:

jobs:
CreateRelease:
runs-on: ubuntu-16.04
runs-on: ubuntu-18.04

steps:
- name: Clone repository
Expand Down Expand Up @@ -55,7 +55,7 @@ jobs:
hub release create -m "Development Builds" dev_build --prerelease

LinuxStatic:
runs-on: ubuntu-16.04
runs-on: ubuntu-18.04
needs: CreateRelease

steps:
Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
make install -j4
- name: Deploy binaries
run: |
./tools/deployment/deploy.bat static pack
./tools/deployment/deploy.sh.bat static pack
- name: Deploy binaries with stable release on Github
if: endsWith(github.ref, 'main') == false
uses: svenstaro/upload-release-action@v1-release
Expand Down Expand Up @@ -149,7 +149,7 @@ jobs:
make install -j
- name: Deploy binaries
run: |
./tools/deployment/deploy.bat static pack
./tools/deployment/deploy.sh.bat static pack
- name: Deploy binaries with stable release on Github
if: endsWith(github.ref, 'main') == false
uses: svenstaro/upload-release-action@v1-release
Expand Down Expand Up @@ -218,7 +218,7 @@ jobs:
jom -j4
- name: Deploy binaries
run: |
./tools/deployment/deploy.bat static pack
./tools/deployment/deploy.sh.bat static pack
- name: Deploy binaries with stable release on Github
if: endsWith(github.ref, 'main') == false
uses: svenstaro/upload-release-action@v1-release
Expand All @@ -239,7 +239,7 @@ jobs:
overwrite: true

LinuxDynamic:
runs-on: ubuntu-16.04
runs-on: ubuntu-18.04
needs: CreateRelease

steps:
Expand Down Expand Up @@ -281,7 +281,7 @@ jobs:
make -j4
- name: Deploy binaries
run: |
./tools/deployment/deploy.bat dynamic pack
./tools/deployment/deploy.sh.bat dynamic pack
- name: Deploy binaries with stable release on Github
if: endsWith(github.ref, 'main') == false
uses: svenstaro/upload-release-action@v1-release
Expand Down Expand Up @@ -343,7 +343,7 @@ jobs:
make -j4
- name: Deploy binaries (MacOS)
run: |
./tools/deployment/deploy.bat dynamic pack
./tools/deployment/deploy.sh.bat dynamic pack
- name: Deploy binaries with stable release on Github
if: endsWith(github.ref, 'main') == false
uses: svenstaro/upload-release-action@v1-release
Expand Down Expand Up @@ -412,7 +412,7 @@ jobs:
jom -j4
- name: Deploy binaries (Windows)
run: |
./tools/deployment/deploy.bat dynamic pack
./tools/deployment/deploy.sh.bat dynamic pack
- name: Deploy binaries with stable release on Github
if: endsWith(github.ref, 'main') == false
uses: svenstaro/upload-release-action@v1-release
Expand All @@ -435,7 +435,7 @@ jobs:
Tests:
# Only run for dev releases
if: endsWith(github.ref, 'main') == true
runs-on: ubuntu-16.04
runs-on: ubuntu-18.04
needs: CreateRelease

steps:
Expand Down Expand Up @@ -468,7 +468,7 @@ jobs:
./tools/testing/test_linux_codecov

Doxygen:
runs-on: ubuntu-16.04
runs-on: ubuntu-18.04
needs: CreateRelease

steps:
Expand Down
Loading