-
Notifications
You must be signed in to change notification settings - Fork 90
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,132 +1,86 @@ | ||
name: Basic SeDuMi tests | ||
|
||
# Controls when the action will run. | ||
name: CI | ||
Check failure on line 1 in .github/workflows/ci.yml GitHub Actions / build-oct (ubuntu-latest).github/workflows/ci.yml#L1
Check failure on line 1 in .github/workflows/ci.yml GitHub Actions / build-oct (windows-latest).github/workflows/ci.yml#L1
Check failure on line 1 in .github/workflows/ci.yml GitHub Actions / build-mex (ubuntu-latest).github/workflows/ci.yml#L1
Check failure on line 1 in .github/workflows/ci.yml GitHub Actions / build-mex (ubuntu-latest).github/workflows/ci.yml#L1
Check failure on line 1 in .github/workflows/ci.yml GitHub Actions / build-mex (ubuntu-latest).github/workflows/ci.yml#L1
Check failure on line 1 in .github/workflows/ci.yml GitHub Actions / build-oct (macos-latest).github/workflows/ci.yml#L1
Check failure on line 1 in .github/workflows/ci.yml GitHub Actions / build-oct (macos-latest).github/workflows/ci.yml#L1
Check failure on line 1 in .github/workflows/ci.yml GitHub Actions / build-oct (macos-latest).github/workflows/ci.yml#L1
Check failure on line 1 in .github/workflows/ci.yml GitHub Actions / build-mex (windows-latest).github/workflows/ci.yml#L1
Check failure on line 1 in .github/workflows/ci.yml GitHub Actions / build-mex (windows-latest).github/workflows/ci.yml#L1
Check failure on line 1 in .github/workflows/ci.yml GitHub Actions / build-oct (macos-14).github/workflows/ci.yml#L1
Check failure on line 1 in .github/workflows/ci.yml GitHub Actions / build-mex (macos-latest).github/workflows/ci.yml#L1
|
||
on: | ||
# Triggers the workflow on push or pull request events but only for the main branch | ||
push: | ||
branches: [ master ] | ||
branches: | ||
- master | ||
tags: | ||
- '*' | ||
pull_request: | ||
branches: [ master ] | ||
|
||
workflow_dispatch: | ||
|
||
branches: | ||
- master | ||
jobs: | ||
|
||
matlab: | ||
name: Matlab (latest) on Ubuntu (latest) | ||
runs-on: ubuntu-latest | ||
|
||
build-mex: | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest,windows-latest,macos-latest,macos-14] | ||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Install MATLAB | ||
uses: matlab-actions/setup-matlab@v1 | ||
|
||
- name: Run basic SeDuMi tests | ||
uses: matlab-actions/run-command@v1 | ||
with: | ||
command: cd examples; test_sedumi(1, 1); | ||
|
||
|
||
macos-octave: | ||
name: Octave (latest) on macOS (latest) | ||
runs-on: macos-latest | ||
|
||
- name: Retrieve the source code | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: Install MATLAB | ||
uses: matlab-actions/setup-matlab@v2 | ||
with: | ||
release: ${{ matrix.os == 'macos-14' && 'R2023b' || ( matrix.os == 'windows-latest' && 'R2021b' || 'R2021a' ) }} | ||
- name: Build MATLAB MEX files | ||
uses: matlab-actions/run-command@v2 | ||
with: | ||
command: install_sedumi -rebuild | ||
- name: Run test | ||
uses: matlab-actions/run-command@v2 | ||
with: | ||
command: "install_sedumi; cd examples; test_sedumi(1, 1)" | ||
- name: Upload MATLAB MEX files | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: mexfiles-${{ matrix.os }} | ||
path: "*.mex*" | ||
build-oct: | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest,windows-latest,macos-latest,macos-14] | ||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Install Octave by homebrew | ||
run: brew install octave | ||
|
||
- name: Run basic SeDuMi tests | ||
run: octave --eval "cd examples; test_sedumi(1, 1);" | ||
|
||
|
||
windows-octave: | ||
name: Octave (latest) on MS Windows (latest) | ||
runs-on: windows-latest | ||
|
||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Install Octave by Chocolatey | ||
run: choco install octave.portable | ||
|
||
- name: Run basic SeDuMi tests | ||
run: octave-cli.exe --eval "cd examples; test_sedumi(1, 1);" | ||
|
||
|
||
ubuntu-20_04-octave: | ||
name: Octave 5.2.0 on Ubuntu 20.04 | ||
runs-on: ubuntu-20.04 | ||
|
||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Install Octave | ||
run: | | ||
sudo apt-get -y update | ||
sudo apt-get -y install octave liboctave-dev libopenblas-dev | ||
- name: Run basic SeDuMi tests | ||
run: octave --eval "cd examples; test_sedumi(1, 1);" | ||
|
||
|
||
ubuntu-18_04-octave: | ||
name: Octave 4.2.2 on Ubuntu 18.04 | ||
runs-on: ubuntu-18.04 | ||
|
||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Install Octave | ||
run: | | ||
sudo apt-get -y update | ||
sudo apt-get -y install octave liboctave-dev libopenblas-dev | ||
- name: Run basic SeDuMi tests | ||
run: octave --eval "cd examples; test_sedumi(1, 1);" | ||
|
||
|
||
flatpak-octave: | ||
name: Octave (latest) on Flatpak (latest) | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Install Octave | ||
run: | | ||
sudo apt-get -y update | ||
sudo apt-get -y install flatpak | ||
flatpak remote-add --user --if-not-exists \ | ||
flathub https://flathub.org/repo/flathub.flatpakrepo | ||
flatpak install --user -y flathub org.octave.Octave | ||
- name: Run basic SeDuMi tests | ||
run: | | ||
flatpak run org.octave.Octave --eval "cd examples; test_sedumi(1, 1);" | ||
snap-octave: | ||
name: Octave (latest) on Snap (latest) | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Install Octave | ||
run: | | ||
sudo apt-get -y update | ||
sudo apt-get -y install snapd | ||
sudo snap install octave | ||
- name: Run basic SeDuMi tests | ||
run: snap run octave --eval "cd examples; test_sedumi(1, 1);" | ||
- name: Retrieve the source code | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: Install Octave | ||
shell: bash | ||
run: | | ||
if [ "${{ matrix.os }}" = ubuntu-latest ]; then | ||
sudo apt update | ||
sudo apt install --no-install-recommends octave liboctave-dev | ||
elif [ "${{ matrix.os }}" = windows-latest ]; then | ||
choco install octave.portable | ||
else | ||
brew install octave | ||
fi | ||
- name: Build Octave MEX files | ||
if: matrix.os != 'windows-latest' | ||
run: octave --eval "install_sedumi -rebuild" | ||
- name: Build Octave MEX files | ||
if: matrix.os == 'windows-latest' | ||
shell: cmd | ||
run: | | ||
set PATH=C:\ProgramData\chocolatey\bin;%PATH% | ||
which octave-cli.exe | ||
octave-cli.exe --no-gui --eval "install_sedumi -rebuild" | ||
if %errorlevel% neq 0 exit /b %errorlevel% | ||
- name: Run test | ||
if: matrix.os != 'windows-latest' | ||
run: octave --eval "install_sedumi; test_sedumi(1, 1)" | ||
- name: Run test | ||
if: matrix.os == 'windows-latest' | ||
shell: cmd | ||
run: | | ||
set PATH=C:\ProgramData\chocolatey\bin;%PATH% | ||
octave-cli.exe --no-gui --eval "install_sedumi; cd examples; test_sedumi(1, 1)" | ||
- name: Upload Octave MEX files | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: mexfiles-oct-${{ matrix.os }} | ||
path: "*.mex" |