Builds #250
Workflow file for this run
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
name: Builds | |
on: | |
# release: | |
# types: [created] | |
push: | |
jobs: | |
build_linux_x64: | |
name: 'Linux x64' | |
runs-on: ubuntu-latest | |
container: | |
image: 'docker://pmeira/manylinux_wheel_fpc322_x86_64' | |
env: | |
KLUSOLVE_URL: 'https://github.com/dss-extensions/klusolve/releases/download/1.0.0a1/klusolvex_1.0.0a1_linux_x64.tar.gz' | |
steps: | |
- name: 'Checkout' | |
run: | | |
git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY dss_capi | |
cd dss_capi | |
git checkout $GITHUB_SHA | |
- name: 'Download/extract KLUSolve(X)' | |
run: | | |
curl -s -L "${KLUSOLVE_URL}" -o klusolve.tar.gz | |
tar zxf klusolve.tar.gz | |
mkdir -p dss_capi/lib/linux_x64 | |
cp -r klusolvex/lib/* dss_capi/lib/ | |
- name: Build | |
run: | | |
cd dss_capi | |
export PATH=/opt/python/cp38-cp38/bin/:$PATH | |
source ./build/make_metadata.sh | |
./build/build_linux_x64.sh | |
ls -lR lib | |
- name: 'Upload artifacts' | |
uses: "actions/upload-artifact@v3" | |
#if: github.event_name == 'release' && github.event.action == 'created' | |
with: | |
name: 'development-build' | |
path: '${{ github.workspace }}/dss_capi/release/*.tar.gz' | |
build_linux_x86: | |
name: 'Linux x86' | |
runs-on: ubuntu-latest | |
env: | |
KLUSOLVE_URL: 'https://github.com/dss-extensions/klusolve/releases/download/1.0.0a1/klusolvex_1.0.0a1_linux_x86.tar.gz' | |
DOCKER_IMAGE: 'pmeira/manylinux_wheel_fpc322_i686' | |
steps: | |
- name: 'Checkout' | |
run: | | |
git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY dss_capi | |
cd dss_capi | |
git checkout $GITHUB_SHA | |
- name: 'Setup Docker' | |
run: | | |
docker pull $DOCKER_IMAGE | |
- name: 'Download/extract KLUSolve(X)' | |
run: | | |
curl -s -L "${KLUSOLVE_URL}" -o klusolve.tar.gz | |
tar zxf klusolve.tar.gz | |
mkdir -p dss_capi/lib/linux_x86 | |
cp -r klusolvex/lib/* dss_capi/lib/ | |
- name: Build | |
run: | | |
cd dss_capi | |
source ./build/make_metadata.sh | |
docker run -e DSS_CAPI_VERSION -v "${PWD}/..:/build" $DOCKER_IMAGE bash -c 'cd /build/dss_capi; PATH=/opt/python/cp38-cp38/bin/:$PATH bash build/build_linux_x86.sh' | |
ls -lR lib | |
- name: 'Upload artifacts' | |
uses: "actions/upload-artifact@v3" | |
#if: github.event_name == 'release' && github.event.action == 'created' | |
with: | |
name: 'development-build' | |
path: '${{ github.workspace }}/dss_capi/release/*.tar.gz' | |
build_macos_x64: | |
name: 'macOS x64 and ARM64' | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
path: 'dss_capi' | |
- name: 'Install FreePascal' | |
run: | | |
wget https://sourceforge.net/projects/freepascal/files/Mac%20OS%20X/3.2.2/fpc-3.2.2.intelarm64-macosx.dmg/download -Ofpc.dmg -q | |
sudo hdiutil attach fpc.dmg | |
sudo installer -package /Volumes/fpc-3.2.2.intelarm64-macosx/fpc-3.2.2-intelarm64-macosx.mpkg -target / | |
- name: 'Download/extract KLUSolve(X)' | |
run: | | |
wget "https://github.com/dss-extensions/klusolve/releases/download/1.0.0a1/klusolvex_1.0.0a1_darwin_x64.tar.gz" -Oklusolve_x64.tar.gz -q | |
wget "https://github.com/dss-extensions/klusolve/releases/download/1.0.0a1/klusolvex_1.0.0a1_darwin_arm64.tar.gz" -Oklusolve_arm64.tar.gz -q | |
tar zxf klusolve_x64.tar.gz | |
tar zxf klusolve_arm64.tar.gz | |
mkdir -p dss_capi/lib/darwin_x64 | |
mkdir -p dss_capi/lib/darwin_arm64 | |
cp -r klusolvex/lib/* dss_capi/lib/ | |
- name: Build x64 | |
run: | | |
cd dss_capi | |
source ./build/make_metadata.sh | |
./build/build_macos_x64.sh | |
ls -lR lib | |
- name: Build ARM64 | |
run: | | |
cd dss_capi | |
source ./build/make_metadata.sh | |
./build/build_macos_arm64.sh | |
ls -lR lib | |
- name: 'Upload artifacts' | |
uses: "actions/upload-artifact@v3" | |
#if: github.event_name == 'release' && github.event.action == 'created' | |
with: | |
name: 'development-build' | |
path: '${{ github.workspace }}/dss_capi/release/*.tar.gz' | |
build_win_x64: | |
name: 'Windows x64' | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
path: 'dss_capi' | |
- name: 'Install FreePascal' | |
shell: cmd | |
run: | | |
"c:\Program Files\Git\mingw64\bin\curl" -s -L https://sourceforge.net/projects/freepascal/files/Win32/3.2.2/fpc-3.2.2.i386-win32.exe/download -o fpc-win32.exe | |
"c:\Program Files\Git\mingw64\bin\curl" -s -L https://sourceforge.net/projects/freepascal/files/Win32/3.2.2/fpc-3.2.2.i386-win32.cross.x86_64-win64.exe/download -o fpc-win32.cross.x86_64-win64.exe | |
fpc-win32.exe /VERYSILENT | |
fpc-win32.cross.x86_64-win64.exe /VERYSILENT | |
- name: 'Download/extract KLUSolve(X)' | |
shell: cmd | |
run: | | |
"c:\Program Files\Git\mingw64\bin\curl" -s -L https://github.com/dss-extensions/klusolve/releases/download/1.0.0a1/klusolvex_1.0.0a1_win_x64-gcc8.1.zip -o klusolve_x64.zip | |
7z x -y -o. klusolve_x64.zip | |
mkdir dss_capi\lib | |
mkdir dss_capi\lib\win_x64 | |
xcopy /E klusolvex\lib dss_capi\lib | |
- name: Build | |
#TODO? cv2pdb (generate PDB for MSVC) and dlltool (generate lib compatible with GCC) | |
shell: cmd | |
run: | | |
cd dss_capi | |
"c:\Program Files\Git\bin\bash" -c "bash ./build/make_metadata.sh write" | |
set PATH=%PATH%;C:\FPC\3.2.2\bin\i386-win32 | |
set PATH=%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin | |
call build/generated/set_version.bat | |
call build/build_win_x64.bat | |
- name: 'Upload artifacts' | |
uses: "actions/upload-artifact@v3" | |
#if: github.event_name == 'release' && github.event.action == 'created' | |
with: | |
name: 'development-build' | |
path: '${{ github.workspace }}/dss_capi/release/*.zip' | |
build_win: | |
name: 'Windows x86' | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
path: 'dss_capi' | |
- name: 'Install FreePascal' | |
shell: cmd | |
run: | | |
"c:\Program Files\Git\mingw64\bin\curl" -s -L https://sourceforge.net/projects/freepascal/files/Win32/3.2.2/fpc-3.2.2.i386-win32.exe/download -o fpc-win32.exe | |
fpc-win32.exe /VERYSILENT | |
- name: 'Download/extract KLUSolve(X)' | |
shell: cmd | |
run: | | |
"c:\Program Files\Git\mingw64\bin\curl" -s -L https://github.com/dss-extensions/klusolve/releases/download/1.0.0a1/klusolvex_1.0.0a1_win_x86-msvc2017.zip -o klusolve_x86.zip | |
7z x -y -o. klusolve_x86.zip | |
mkdir dss_capi\lib | |
mkdir dss_capi\lib\win_x86 | |
xcopy /E klusolvex\lib dss_capi\lib | |
- name: Build | |
#TODO? cv2pdb (generate PDB for MSVC) and dlltool (generate lib compatible with GCC) | |
shell: cmd | |
run: | | |
cd dss_capi | |
"c:\Program Files\Git\bin\bash" -c "bash ./build/make_metadata.sh write" | |
set PATH=%PATH%;C:\FPC\3.2.2\bin\i386-win32 | |
set PATH=%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin | |
call build/generated/set_version.bat | |
call build/build_win_x86.bat | |
- name: 'Upload artifacts' | |
uses: "actions/upload-artifact@v3" | |
#if: github.event_name == 'release' && github.event.action == 'created' | |
with: | |
name: 'development-build' | |
path: '${{ github.workspace }}/dss_capi/release/*.zip' |