123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- name: Build
- on:
- [push]
- jobs:
- build:
- name: Build and Test
- runs-on: ubuntu-latest
- if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-java@v1
- with:
- java-version: 14
- - uses: actions/cache@v1
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
- - name: Ensure to use tagged version
- run: mvn versions:set --file main/pom.xml -DnewVersion=${GITHUB_REF##*/} # use shell parameter expansion to strip of 'refs/tags'
- if: startsWith(github.ref, 'refs/tags/')
- - name: Build and Test
- run: mvn -B install --file main/pom.xml -Pcoverage
- - name: Run Codacy Coverage Reporter
- run: |
- curl -o ~/codacy-coverage-reporter.jar https://repo.maven.apache.org/maven2/com/codacy/codacy-coverage-reporter/7.1.0/codacy-coverage-reporter-7.1.0-assembly.jar
- $JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter.jar report -l Java -r main/commons/target/site/jacoco/jacoco.xml --partial
- $JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter.jar report -l Java -r main/ui/target/site/jacoco/jacoco.xml --partial
- $JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter.jar report -l Java -r main/launcher/target/site/jacoco/jacoco.xml --partial
- $JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter.jar final
- env:
- CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
- - name: Assemble buildkit-linux.zip
- run: mvn -B clean package -DskipTests --file main/pom.xml --resume-from=buildkit -Prelease,linux
- - name: Upload buildkit-linux.zip
- uses: actions/upload-artifact@v1
- with:
- name: buildkit-linux.zip
- path: main/buildkit/target/buildkit-linux.zip
- - name: Assemble buildkit-mac.zip
- run: mvn -B clean package -DskipTests --file main/pom.xml --resume-from=buildkit -Prelease,mac
- - name: Upload buildkit-mac.zip
- uses: actions/upload-artifact@v1
- with:
- name: buildkit-mac.zip
- path: main/buildkit/target/buildkit-mac.zip
- - name: Assemble buildkit-win.zip
- run: mvn -B clean package -DskipTests --file main/pom.xml --resume-from=buildkit -Prelease,windows
- - name: Upload buildkit-win.zip
- uses: actions/upload-artifact@v1
- with:
- name: buildkit-win.zip
- path: main/buildkit/target/buildkit-win.zip
-
- release:
- name: Draft a Release on GitHub Releases
- runs-on: ubuntu-latest
- needs: build
- if: startsWith(github.ref, 'refs/tags/')
- steps:
- - name: Download buildkit-linux.zip
- uses: actions/download-artifact@v1
- with:
- name: buildkit-linux.zip
- path: .
- - name: Download buildkit-mac.zip
- uses: actions/download-artifact@v1
- with:
- name: buildkit-mac.zip
- path: .
- - name: Download buildkit-win.zip
- uses: actions/download-artifact@v1
- with:
- name: buildkit-win.zip
- path: .
- - name: Create Release
- id: create_release
- uses: actions/create-release@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- tag_name: ${{ github.ref }}
- release_name: ${{ github.ref }}
- body: |
- :construction: Work in Progress
- draft: true
- prerelease: false
- - name: Upload buildkit-linux.zip to GitHub Releases
- uses: actions/upload-release-asset@v1.0.1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ steps.create_release.outputs.upload_url }}
- asset_path: buildkit-linux.zip
- asset_name: buildkit-linux.zip
- asset_content_type: application/zip
- - name: Upload buildkit-mac.zip to GitHub Releases
- uses: actions/upload-release-asset@v1.0.1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ steps.create_release.outputs.upload_url }}
- asset_path: buildkit-mac.zip
- asset_name: buildkit-mac.zip
- asset_content_type: application/zip
- - name: Upload buildkit-win.zip to GitHub Releases
- uses: actions/upload-release-asset@v1.0.1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ steps.create_release.outputs.upload_url }}
- asset_path: buildkit-win.zip
- asset_name: buildkit-win.zip
- asset_content_type: application/zip
|