Skip to content

Add prebuild. (#53) #152

Add prebuild. (#53)

Add prebuild. (#53) #152

name: C/C++ CI
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
build:
runs-on: ubuntu-latest
name: build
steps:
- uses: actions/checkout@v2
id: checkout-code
name: Checkout
- id: dependencies
name: Build Dependencies
run: sudo apt-get update && sudo apt-get install -y nodejs node-gyp libssl1.1
- id: get-libjpeg
name: Get libjpeg
run: curl -XGET http://www.ijg.org/files/jpegsrc.v9d.tar.gz -o jpegsrc.v9d.tar.gz
- id: install-libjpeg
name: Install libjpeg
run: tar xofp jpegsrc.v9d.tar.gz && cd jpeg-9d && ./configure --with-pic && make && sudo make install
- id: get-libraw
name: Download LibRaw Release
run: curl https://www.libraw.org/data/LibRaw-0.21.1.tar.gz --output LibRaw-0.21.1.tar.gz
- id: install-libraw
name: Install LibRaw
run: tar xzvf LibRaw-0.21.1.tar.gz && cd LibRaw-0.21.1 && ./configure --with-pic --disable-openmp && touch * && make && sudo make install
- id: set-ld-library
name: LD Library
run: sudo ldconfig -v && LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
- id: clean-libjpeg-files
name: Clean libjpeg files
run: rm -rf jpeg-9d jpegsrc.v9d.tar.gz
- id: clean-libraw-files
name: Clean LibRaw Build Files
run: rm -rf LibRaw-0.21.1 LibRaw-0.21.1.tar.gz
- id: global-npm
name: Setup Global npm Packages
run: sudo npm i -g node-gyp node-gyp-build
- id: install-npm
name: Install npm Packages
run: npm install
- id: lint
name: Lint
run: npm run format-check && npm run lint
- id: build-package
name: Build Package
run: node-gyp rebuild
- id: unit-tests
name: Run Unit Tests
run: npm run test