blob: a08d6f3af9e8f5dc645c0f901827863b0a37de85 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Build notes:
# - We override local maven repository to be hosted in /home/runner/work/geronimo-arthur/geronimo-arthur/ which is the clone directory to ensure we can use cache action
# - Build relies on .github/settings.xml for site deployment, it requires secrets to be set up on github
#
name: Github CI
on: [push, pull_request]
env:
MAVEN_OPTS: -Dmaven.repo.local=/home/runner/work/geronimo-arthur/geronimo-arthur/.m2 -Dmaven.artifact.threads=256 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
jobs:
publish_website:
name: Deploy Website
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v1
- name: Set up JDK
uses: actions/setup-java@v1
with:
java-version: '1.8'
- name: Cache Maven Repository
uses: actions/cache@v1
with:
path: /home/runner/work/geronimo-arthur/geronimo-arthur/.m2
key: m2_repository
- name: Publish website
env:
WEBSITE_PUBLISH_USERNAME: ${{ secrets.WEBSITE_PUBLISH_USERNAME }}
WEBSITE_PUBLISH_PASSWORD: ${{ secrets.WEBSITE_PUBLISH_PASSWORD }}
run: |
# todo: setup credentials
mvn install -DskipTests -T2 && \
echo "mvn clean prepare-package scm-publish:publish-scm -DskipTests -gs ../.github/settings.xml -pl documentation"
- name: Remove Snapshots Before Caching
run: find /home/runner/work/geronimo-arthur/geronimo-arthur/.m2 -name '*SNAPSHOT' | xargs rm -Rf
build:
name: Main Build
runs-on: ubuntu-latest
strategy:
matrix:
java: [ '1.8', '11.0.4' ]
steps:
- name: Clone
uses: actions/checkout@v1
- name: Cache Maven Repository
uses: actions/cache@v1
with:
path: /home/runner/work/geronimo-arthur/geronimo-arthur/.m2
key: m2_repository
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
- name: Build
run: mvn install -Pintegration-tests
- name: Remove Snapshots Before Caching
run: find /home/runner/work/geronimo-arthur/geronimo-arthur/.m2 -name '*SNAPSHOT' | xargs rm -Rf