diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml new file mode 100644 index 0000000..9c82d22 --- /dev/null +++ b/.github/workflows/main.yaml @@ -0,0 +1,75 @@ +name: CI +on: + push: + branches: + - master + tags: + - '*' + pull_request: + branches: + - master +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest,windows-latest,macos-latest,macos-14] + steps: + - name: Retrieve the source code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Remove old MEX files + shell: bash + run: rm Solver/Mexfun/*.mex* + - name: Install MATLAB + uses: matlab-actions/setup-matlab@v2 + with: + release: ${{ matrix.os == 'macos-14' && 'R2023b' || ( matrix.os == 'windows-latest' && 'R2021b' || 'R2021a' ) }} + - name: Build MEX files + uses: matlab-actions/run-command@v2 + with: + command: install_sdpt3 -rebuild + - uses: actions/upload-artifact@v4 + with: + name: mexfiles-${{ matrix.os }} + path: | + Solver/Mexfun/*.mex* + package: + needs: build + runs-on: ubuntu-latest + steps: + - name: Retrieve the source code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - uses: actions/download-artifact@v4 + with: + name: mexfiles-ubuntu-latest + - uses: actions/download-artifact@v4 + with: + name: mexfiles-windows-latest + - uses: actions/download-artifact@v4 + with: + name: mexfiles-macos-latest + - uses: actions/download-artifact@v4 + with: + name: mexfiles-macos-14 + - name: Show files, build archives + run: | + mv *.mex* Solver/Mexfun/ + mkdir ../archives + zip -r ../archives/sdpt3.zip . -x '.git/*' -x '.github/*' + tar cfz ../archives/sdpt3.tgz --exclude "./.git" --exclude "./.github" . + echo "--------" + tar tfz ../archives/sdpt3.tgz + echo "--------" + zipinfo ../archives/sdpt3.zip + echo "--------" + - uses: softprops/action-gh-release@v2 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + ../archives/sdpt3.tgz + ../archives/sdpt3.zip diff --git a/install_sdpt3.m b/install_sdpt3.m index 9412494..796ad2e 100644 --- a/install_sdpt3.m +++ b/install_sdpt3.m @@ -23,6 +23,7 @@ function install_sdpt3( varargin ) VERSION = [1,0.01]*sscanf(version,'%d.%d'); if ISOCTAVE, prog = 'Octave'; else prog = 'Matlab'; end COMPUTER = computer; +IS64BIT = strcmp(COMPUTER(end-1:end), '64'); mext = mexext; %