blob: d63c126fbf3a43e2cdf43ac97c1e446c0475da44 [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.
name: Continuous Integration
on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]
env:
# --add-exports to work around https://github.com/coveooss/fmt-maven-plugin/issues/99
MAVEN_OPTS: >-
-Dmaven.wagon.httpconnectionManager.ttlSeconds=25 -Dmaven.wagon.http.retryHandler.count=3
--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
jobs:
build:
strategy:
matrix:
java: [ 11, 17 ]
name: "Java ${{ matrix.java }}"
runs-on: ubuntu-18.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Cache Maven Repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: maven-java-${{ matrix.java }}-${{ hashFiles('**/pom.xml') }}
restore-keys: |
maven-java-${{ matrix.java }}-
maven-
- name: Set up Java
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
- name: Build
run: mvn -B -e -Papache-release -Dgpg.skip=true verify
- name: Remove Snapshots
run: find ~/.m2/repository -name '*-SNAPSHOT' -a -type d -print0 | xargs -0 rm -rf
deploy:
if: github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'apache/ws-axiom'
name: Deploy
runs-on: ubuntu-18.04
needs: build
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Cache Maven Repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: maven-deploy-${{ hashFiles('**/pom.xml') }}
restore-keys: |
maven-deploy-
maven-
- name: Set up Java
uses: actions/setup-java@v1
with:
java-version: 11
server-id: apache.snapshots.https
server-username: NEXUS_USER
server-password: NEXUS_PW
- name: Deploy
run: mvn -B -e -Papache-release -Dgpg.skip=true -DskipTests=true deploy
env:
NEXUS_USER: ${{ secrets.NEXUS_USER }}
NEXUS_PW: ${{ secrets.NEXUS_PW }}
- name: Remove Snapshots
run: find ~/.m2/repository -name '*-SNAPSHOT' -a -type d -print0 | xargs -0 rm -rf