Skip to content

CI: update builds.yml to use latest versions for upload-artifact an… #268

CI: update builds.yml to use latest versions for upload-artifact an…

CI: update builds.yml to use latest versions for upload-artifact an… #268

Workflow file for this run

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'
DSS_CAPI_BUILD_ODDIE: '1'
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@v4"
#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@v4"
#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@v4"
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@v4"
#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
env:
DSS_CAPI_BUILD_ODDIE: '1'
steps:
- uses: "actions/checkout@v4"
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@v4"
#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@v4"
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@v4"
#if: github.event_name == 'release' && github.event.action == 'created'
with:
name: 'development-build'
path: '${{ github.workspace }}/dss_capi/release/*.zip'