diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 43ab779..a103655 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -9,7 +9,7 @@ on: branches: - master jobs: - build-mex: + build: runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -17,15 +17,61 @@ jobs: os: [ubuntu-latest,windows-latest,macos-latest,macos-14] steps: - name: Retrieve the source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Remove old MEX files shell: bash - run: rm Solver/Mexfun/*.mex* Solver/Mexfun/*/*.mex* + 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: actions/upload-artifact@v4 + with: + uses: softprops/action-gh-release@v2 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + ../archives/sdpt3.tgz + ../archives/sdpt3.zip