| ## --------------------------------------------------------------------------- |
| ## 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: deploy snapshot |
| |
| on: |
| schedule: |
| - cron: '0 2 * * *' |
| workflow_dispatch: |
| |
| env: |
| MAVEN_OPTS: -Xmx4g -Xms1g -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.http.retryHandler.count=3 |
| COVERALLS_TOKEN: ${{ secrets.COVERALLS_TOKEN }} |
| |
| jobs: |
| build: |
| timeout-minutes: 180 |
| runs-on: ubuntu-20.04 |
| if: github.repository == 'apache/servicecomb-pack' |
| strategy: |
| matrix: |
| java: [ '8' ] |
| steps: |
| - uses: actions/checkout@v2 |
| with: |
| persist-credentials: false |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v1 |
| with: |
| java-version: ${{ matrix.java }} |
| - name: Cache Maven Repository |
| uses: actions/cache@v2 |
| with: |
| path: | |
| ~/.m2/repository/ |
| !~/.m2/repository/org/apache/servicecomb |
| key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} |
| restore-keys: ${{ runner.os }}-m2 |
| - name: Show the first log message |
| run: git log -n1 |
| - name: Build and test |
| if: ${{ success() }} |
| run: ./mvnw clean install -B -Pjacoco -Pdocker coveralls:report -DrepoToken=${COVERALLS_TOKEN} |
| - name: Upload unit test results |
| if: ${{ failure() }} |
| uses: actions/upload-artifact@v2 |
| with: |
| name: surefire-reports |
| path: ./**/target/surefire-reports/ |
| if-no-files-found: ignore |
| - name: Verify demo |
| if: ${{ success() }} |
| run: ./mvnw clean verify -B -f demo -Pdemo -Pdocker -Ddocker.useColor=false -Ddocker.showLogs |
| - name: Verify Acceptance tests |
| if: ${{ success() }} |
| run: ./mvnw clean verify -B -f acceptance-tests -Pdemo -Pdocker -Ddocker.useColor=false -Ddocker.showLogs |
| |
| deploy: |
| runs-on: ubuntu-20.04 |
| strategy: |
| matrix: |
| java: [ '1.8' ] |
| needs: build |
| if: github.repository == 'apache/servicecomb-pack' && github.ref == 'refs/heads/master' |
| env: |
| NEXUS_DEPLOY_USERNAME: ${{ secrets.NEXUS_USER }} |
| NEXUS_DEPLOY_PASSWORD: ${{ secrets.NEXUS_PW }} |
| steps: |
| - uses: actions/checkout@v2 |
| with: |
| persist-credentials: false |
| - name: Set up JDK ${{ matrix.java }} |
| uses: actions/setup-java@v1 |
| with: |
| java-version: ${{ matrix.java }} |
| - name: Cache Maven Repository |
| uses: actions/cache@v2 |
| with: |
| path: | |
| ~/.m2/repository/ |
| !~/.m2/repository/org/apache/servicecomb |
| key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} |
| restore-keys: ${{ runner.os }}-m2 |
| - name: Deploy to ASF Snapshots Repository |
| run: mvn clean deploy -B -Ddocker.skip -DskipTests --settings .github/asf-deploy-settings.xml |