| name: Ubuntu build CI |
| |
| on: |
| workflow_dispatch: |
| |
| env: |
| FIREFOX_VERSION: 91.4.0 |
| FDB_VERSION: 6.3.18 |
| |
| jobs: |
| |
| build: |
| |
| runs-on: ubuntu-latest |
| |
| steps: |
| - name: update |
| run: sudo apt-get update |
| - name: install |
| run: sudo apt-get --no-install-recommends -y install autoconf2.13 build-essential pkg-config libcurl4-openssl-dev erlang-dev rebar elixir |
| |
| - name: Cache packages |
| uses: actions/cache@v2 |
| id: wgetcache |
| with: |
| key: wgetcache-${{env.FIREFOX_VERSION}}-${{env.FDB_VERSION}}-${{ runner.os }} |
| path: | |
| firefox-${{env.FIREFOX_VERSION}}esr.source.tar.xz |
| foundationdb-clients_${{env.FDB_VERSION}}-1_amd64.deb |
| foundationdb-server_${{env.FDB_VERSION}}-1_amd64.deb |
| |
| - name: wget moz |
| if: steps.wgetcache.outputs.cache-hit != 'true' |
| run: | |
| wget -nv -S https://github.com/apple/foundationdb/releases/download/${{env.FDB_VERSION}}/foundationdb-clients_${{env.FDB_VERSION}}-1_amd64.deb |
| wget -nv -S https://github.com/apple/foundationdb/releases/download/${{env.FDB_VERSION}}/foundationdb-server_${{env.FDB_VERSION}}-1_amd64.deb |
| wget -nv https://download.cdn.mozilla.net/pub/firefox/releases/${{env.FIREFOX_VERSION}}esr/source/firefox-${{env.FIREFOX_VERSION}}esr.source.tar.xz |
| |
| - name: couch checkout |
| uses: actions/checkout@v2 |
| with: |
| path: couch |
| |
| - name: ICU checkout |
| uses: actions/checkout@v2 |
| with: |
| repository: unicode-org/icu |
| path: icubuild |
| |
| - name: ICU4C with gcc |
| env: |
| PREFIX: /usr/local |
| run: | |
| cd icubuild |
| mkdir build; |
| cd build; |
| ../icu4c/source/runConfigureICU --enable-debug --disable-release Linux/gcc --prefix=$PREFIX --enable-tracing; |
| make -j2; |
| make -j2 check; |
| ( cd ../icu4c/source/test/depstest && ./depstest.py ../../../../build/ ); |
| sudo make install; |
| |
| - name: build spidermonkeycheckout |
| run: | |
| tar xf firefox-${{env.FIREFOX_VERSION}}esr.source.tar.xz |
| export PKG_CONFIG_PATH=${{github.workspace}}/icu/lib/pkgconfig:$PKG_CONFIG_PATH |
| export AC_MACRODIR=${{github.workspace}}/firefox-${{env.FIREFOX_VERSION}}/build/autoconf/ |
| cd firefox-${{env.FIREFOX_VERSION}} |
| export PYTHON=python3 |
| export M4=m4 |
| export AWK=awk |
| export CFLAGS="-I/usr/local/include" |
| export LDFLAGS="-L/usr/local/lib" |
| cd js/src |
| sh ../../build/autoconf/autoconf.sh --localdir=$PWD configure.in > configure |
| chmod +x configure |
| mkdir ${{github.workspace}}/build_OPT.OBJ |
| cd ${{github.workspace}}/build_OPT.OBJ |
| ${{github.workspace}}/firefox-${{env.FIREFOX_VERSION}}/js/src/configure --prefix=/usr/local --disable-ctypes --disable-jit --disable-jemalloc --enable-optimize --enable-hardening --with-intl-api --build-backends=RecursiveMake --with-system-icu --disable-debug --enable-gczeal |
| make |
| sudo make install |
| |
| - name: install |
| run: sudo apt-get --no-install-recommends -y install ./foundationdb-clients_${{env.FDB_VERSION}}-1_amd64.deb ./foundationdb-server_${{env.FDB_VERSION}}-1_amd64.deb |
| |
| - name: configure |
| run: | |
| cd couch |
| sed -i -e "s@DRV_CFLAGS -DPIC@DRV_CFLAGS -I/usr/local/include -DPIC@" src/couch/rebar.config.script |
| sed -i -e "s@DRV_LDFLAGS -lm@DRV_LDFLAGS -L/usr/local/lib -lm@" src/couch/rebar.config.script |
| sh ./configure --disable-docs |
| - name: Compile |
| run: | |
| cd couch |
| make release |
| - name: Run tests |
| run: | |
| cd couch |
| make check |