blob: 0d34258ac3b37f280cec5b24b34f498706c0838e [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:
MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 -Dmaven.wagon.http.retryHandler.count=3
jobs:
build:
strategy:
fail-fast: false
matrix:
java: [ 17, 19 ]
name: "Java ${{ matrix.java }}"
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache Maven Repository
uses: actions/cache@v4
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@v4
with:
distribution: 'zulu'
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-22.04
needs: build
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache Maven Repository
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: maven-deploy-${{ hashFiles('**/pom.xml') }}
restore-keys: |
maven-deploy-
maven-
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
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