Skip to content

Build Ubuntu

Build Ubuntu #262

Workflow file for this run

name: Build Ubuntu
on:
push:
branches:
- "*"
pull_request:
branches: [ master ]
release:
types: [ published ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-20.04
container:
image: ubuntu:18.04
steps:
- name: Checkout
uses: actions/[email protected]
- name: Create path
run: |
mkdir -p ./downloads/
- name: Download FAST
uses: robinraju/[email protected]
with:
repository: "AICAN-Research/FAST-Pathology-dependencies"
latest: true
fileName: "fast_ubuntu18.04.tar.xz"
out-file-path: "./downloads/"
- name: Setup apt and deps
run: |
apt update && apt install -y sudo
sudo apt-get install xz-utils
- name: Extract FAST
run: |
tar -xf ./downloads/fast_*.tar.xz -C ./downloads/
mv ./downloads/fast_*/fast ./
- name: Install dependencies
run: |
# Get a newer version of cmake
sudo apt install -y gpg wget software-properties-common lsb-release
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ bionic main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null
sudo apt-get update
sudo rm /usr/share/keyrings/kitware-archive-keyring.gpg
sudo apt-get install kitware-archive-keyring
sudo apt install -y cmake
sudo apt install -y g++ patchelf
sudo apt install -y '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
sudo apt install -y libopenslide-dev libjpeg-turbo8-dev # Needed for WSI module
- name: Configure CMake
run: cmake -B build -DFAST_DIR=./fast/cmake/
- name: Build FastPathology
run: cmake --build build --config Release -j 4
- name: Build Package
run: cmake --build build --config Release --target package -j 4
- name: Upload Debian package
uses: actions/upload-artifact@v3
with:
name: Debian package
path: ./build/fastpathology_*.deb
if-no-files-found: error
- name: Upload Debian package to release
if: ${{ github.event_name == 'release' }}
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ./build/fastpathology_*.deb
file_glob: true
tag: ${{ github.ref }}
overwrite: true