Build Ubuntu #262
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 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 |