blob: 7636914ffcc2bf1a89f29b8a36dac5b0a4d74f0d [file] [log] [blame]
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