Automatic Docker builds #82
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: elk-live | |
on: | |
pull_request: | |
branches: | |
- master | |
push: | |
branches: | |
- master | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
java-version: [ 11 ] | |
node-version: [ 12.x ] | |
steps: | |
# Checkout the repository of both elk and elkjs, place them next to each other. | |
- uses: actions/checkout@v2 | |
with: | |
path: elk-live | |
- uses: actions/checkout@v2 | |
with: | |
repository: eclipse/elk-models | |
path: elk-live/elk-models | |
# Prepare and use caches for both gradle and npm. | |
- name: Cache gradle packages | |
uses: actions/cache@v1 | |
with: | |
path: ~/.gradle/caches | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} | |
restore-keys: ${{ runner.os }}-gradle | |
- name: Cache npm | |
uses: actions/cache@v1 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package.json', '**/yarn.lock') }} | |
restore-keys: ${{ runner.os }}-node- | |
- name: Set up JDK ${{ matrix.java-version }} | |
uses: actions/setup-java@v1 | |
with: | |
java-version: ${{ matrix.java-version }} | |
- name: Grant execute permission for gradlew | |
run: chmod +x $GITHUB_WORKSPACE/elk-live/server/gradlew | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ matrix.node-version }} | |
# Build client-side code | |
- name: Build client-side | |
run: | | |
npm install -g yarn | |
yarn install | |
yarn build | |
working-directory: /home/runner/work/elk-live/elk-live/elk-live/client/ | |
env: | |
CI: true | |
- name: Build server-side | |
run: | | |
./gradlew jettyRun --args='--root ../../ --mode CHECK' | |
working-directory: /home/runner/work/elk-live/elk-live/elk-live/server/ |