name: backend on: push: paths: - ".github/workflows/backend.yml" - "CMakeLists.txt" - "src/*" - "scripts/*" pull_request: paths: - ".github/workflows/backend.yml" - "CMakeLists.txt" - "src/*" - "scripts/*" jobs: build: runs-on: ubuntu-16.04 strategy: matrix: lws-version: [4.0.19, 3.2.3, 2.4.2] steps: - name: Install packages run: | sudo apt-get update sudo apt-get install build-essential cmake libjson-c-dev zlib1g-dev libssl-dev libuv1-dev - name: Install libwebsockets-${{ matrix.lws-version }} env: LWS_VERSION: ${{ matrix.lws-version }} run: | cd $(mktemp -d) curl -sLo- https://github.com/warmcat/libwebsockets/archive/v${LWS_VERSION}.tar.gz | tar xz cd libwebsockets-${LWS_VERSION} cmake -DLWS_WITH_LIBUV=ON -DLWS_UNIX_SOCK=ON -DLWS_IPV6=ON -DLWS_WITHOUT_TESTAPPS=ON -DCMAKE_BUILD_TYPE=RELEASE . make && sudo make install && sudo ldconfig - uses: actions/checkout@v1 - name: Build ttyd run: | cmake -DCMAKE_BUILD_TYPE=RELEASE . make && sudo make install ttyd -v cross: runs-on: ubuntu-16.04 strategy: matrix: arch: [i386, x86_64, arm, armhf, aarch64, mips, mipsel] steps: - uses: actions/checkout@v1 - name: Cross build (${{ matrix.arch }}) env: ARCH: ${{ matrix.arch }} run: docker run --rm -v $(pwd):/ttyd -w /ttyd tsl0922/musl-cross ./scripts/cross-build.sh $ARCH - uses: actions/upload-artifact@v1 with: name: ttyd.${{ matrix.arch }} path: build/ttyd