Build #4
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: Build | |
on: | |
push: | |
branches: [ "master" ] | |
pull_request: | |
branches: [ "master" ] | |
workflow_dispatch: | |
inputs: | |
testType: | |
description: 'Type of tests to run' | |
required: true | |
default: 'integration' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout RupmPrinter | |
uses: actions/checkout@v4 | |
with: | |
path: main | |
- name: Checkout GhostPDL | |
uses: actions/checkout@v4 | |
with: | |
repository: ArtifexSoftware/ghostpdl | |
path: ghostpdl | |
- name: configure | |
run: | | |
cd ghostpdl | |
./autogen.sh --build=x86-linux-gnu --with-drivers=PNG --without-libtiff --without-libidn --without-libpaper --without-tesseract --without-ijs --without-urf --without-so --without-cal --without-pdftoraster --with-pcl=gpcl6 --with-pdf=no -with-gpdl=no --with-gs=no --with-xps=no --without-jbig2dec --disable-gtk --disable-cups --disable-openjpeg | |
- name: Build GPCL6 Library | |
run: | | |
cd ghostpdl | |
make gpcl6 -j | |
make libgpcl6 -j | |
- name: Run check | |
run: | | |
cd ghostpdl | |
ls bin | |
./bin/gpcl6 -h | |
- name: Copy Lib | |
run: | | |
cp ghostpdl/bin/gpcl6.a main/lib/linux/libgpcl6.a | |
ls main/lib/linux | |
- name: Install Rust & Cargo | |
run: rustup update stable && rustup default stable | |
- name: Install Dep | |
run: | | |
sudo apt-get install libfontconfig1-dev | |
sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev | |
- name: Build RupmPrinter | |
run: | | |
cd main | |
cargo build --release | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Linux | |
path: | | |
ghostpdl/bin | |
main/target/release/RustPrinter | |
build-macos: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout RupmPrinter | |
uses: actions/checkout@v4 | |
with: | |
path: main | |
- name: Checkout GhostPDL | |
uses: actions/checkout@v4 | |
with: | |
repository: ArtifexSoftware/ghostpdl | |
path: ghostpdl | |
- name: Install Auto conf | |
run: brew install autoconf automake libtool | |
- name: configure | |
run: | | |
cd ghostpdl | |
./autogen.sh --with-drivers=PNG --without-libtiff --without-libidn --without-libpaper --without-tesseract --without-ijs --without-urf --without-so --without-cal --without-pdftoraster --with-pcl=gpcl6 --with-pdf=no -with-gpdl=no --with-gs=no --with-xps=no --without-jbig2dec --disable-gtk --disable-cups --disable-openjpeg | |
- name: Install dependencies | |
run: | | |
cd ghostpdl | |
make gpcl6 -j | |
make libgpcl6 -j | |
- name: Run check | |
run: | | |
cd ghostpdl | |
ls bin | |
./bin/gpcl6 -h | |
- name: Copy Lib | |
run: | | |
mkdir -p main/lib/macos | |
cp ghostpdl/bin/gpcl6.a main/lib/macos/libgpcl6.a | |
ls main/lib/macos | |
- name: Install Rust & Cargo | |
run: rustup update stable && rustup default stable | |
- name: Build RupmPrinter | |
run: | | |
cd main | |
cargo build --release | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: MacOS | |
path: | | |
ghostpdl/bin | |
main/target/release/RustPrinter | |
build-windows: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checkout RupmPrinter | |
uses: actions/checkout@v4 | |
with: | |
path: main | |
- name: Checkout GhostPDL | |
uses: actions/checkout@v4 | |
with: | |
repository: ArtifexSoftware/ghostpdl | |
path: ghostpdl | |
- uses: ilammy/msvc-dev-cmd@v1 | |
- name: make | |
run: | | |
cd ghostpdl | |
nmake -f psi\msvc32.mak WIN64= SBR=1 DEVSTUDIO= gpcl6 | |
nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= bsc | |
- name: Run check | |
run: | | |
cd ghostpdl | |
ls bin | |
./bin/gpcl6win64.exe -h | |
- name: Copy Lib | |
run: | | |
xcopy ghostpdl\bin\* main\lib\windows\ /E /I /Y | |
dir main\lib\windows | |
- name: Install Rust & Cargo | |
run: rustup update stable && rustup default stable | |
- name: Build RupmPrinter | |
run: | | |
cd main | |
cargo build --release | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Windows | |
path: | | |
ghostpdl\bin | |
main\target\release\*.exe |