diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b86eae44..78cff910 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,13 +5,13 @@ on: push: branches: - 2.4.x - pull_request: - branches: - - 2.4.x + paths-ignore: + - '.github/**' jobs: - build: + # build and test, then upload logs if failure + build: runs-on: ${{ matrix.os }} strategy: matrix: @@ -26,15 +26,61 @@ jobs: with: java-version: ${{ matrix.java }} - name: Build with Gradle - run: ./gradlew clean build --no-daemon + run: ./gradlew clean build - name: Tar Build Logs if: ${{ failure() }} run: | mkdir -p build - tar -zc --ignore-failed-read --file build/buildlogs.tar.gz */build/reports */*/build/reports + tar \ + -zc \ + --ignore-failed-read \ + --file build/buildlogs.tar.gz \ + */build/reports \ + */*/build/reports - name: Upload Build Logs if: ${{ failure() }} uses: actions/upload-artifact@v2 with: name: buildlogs path: build/buildlogs.tar.gz + + # if build job succeed, build without tests and publish + publish: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-java@v1 + with: + java-version: 1.8 + - uses: jfrog/setup-jfrog-cli@v1 + with: + version: 1.43.2 + env: + JF_ARTIFACTORY_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }} + + # setup non persistent config for jfrog gradle to use server defined in + # secret which points via virtual repo into spring local repo. + # modify default build name and number as we don't like how those + # gets used from action defaults. + - name: Configure JFrog Cli + run: | + jfrog rt gradlec \ + --use-wrapper \ + --deploy-ivy-desc=false \ + --server-id-resolve=repo.spring.io \ + --server-id-deploy=repo.spring.io \ + --repo-resolve=snapshot \ + --repo-deploy=snapshot + echo JFROG_CLI_BUILD_NAME=spring-statemachine-24x >> $GITHUB_ENV + echo JFROG_CLI_BUILD_NUMBER=$GITHUB_RUN_NUMBER >> $GITHUB_ENV + + # as we already tested just build and publish + - name: Build and Publish Snapshot + run: | + jfrog rt gradle clean build -x test artifactoryPublish + + # publish build info so that we can see it in artifactory "builds" + - name: Publish Build Info + run: | + jfrog rt build-publish