Skip to content

Initial gradle build #1065

Initial gradle build

Initial gradle build #1065

Workflow file for this run

name: Build java package
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
push: # Apply to all branches
env:
CHANGELIST: -SNAPSHOT
RELEASE_VERSION: 0.0.0
jobs:
test-java-snapshot:
runs-on: ubuntu-latest
permissions:
contents: write
packages: read
steps:
# Run `git checkout`
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Retrieve current version from gradle.properties
run: |
echo RELEASE_VERSION=$(./gradlew properties --no-daemon --console=plain -q | grep "^version:" | awk '{print $2}') >> $GITHUB_ENV
echo GIT_HASH_SHORT=$(git rev-parse --short "$GITHUB_SHA") >> $GITHUB_ENV
- name: Remove SNAPSHOT suffix for release
if: startsWith(github.ref, 'refs/tags/v')
run: |
echo CHANGELIST= >> $GITHUB_ENV
- name: Add git hash to snapshot release
if: startsWith(github.ref, 'refs/tags/') && !startsWith(github.ref, 'refs/tags/v')
run: |
echo CHANGELIST=${{ env.CHANGELIST }}.${{ env.GIT_HASH_SHORT }} >> $GITHUB_ENV
- name: Run headless test
uses: GabrielBB/xvfb-action@v1
with:
run: ./gradlew check -Prevision=${{ env.RELEASE_VERSION }} -Pchangelist=${{ env.CHANGELIST }}
working-directory: ./ #optional
options: #optional
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: retrieve jre cache
id: jre-cache
uses: actions/cache@v3
with:
path: sdccc/build/jre
key: jre-cache
- name: Build package and download license information
run: |
./gradlew build -x test -Prevision=${{ env.RELEASE_VERSION }} -Pchangelist=${{ env.CHANGELIST }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Collect executable artifacts
run: |
mkdir sdccc/build/zip
cp -r sdccc/build/lib sdccc/build/zip/
cp -r sdccc/build/jre sdccc/build/zip/
cp -r sdccc/build/reports/dependency-license/downloaded-licenses/ sdccc/build/zip/lib/
cp -r sdccc/build/reports/dependency-license/index.xml sdccc/build/zip/lib/
cp -r configuration sdccc/build/zip/
cp sdccc/build/launch4j/SDCcc-*.exe sdccc/build/zip/
cp README.md sdccc/build/zip/
- name: Set zip file name for release
if: startsWith(github.ref, 'refs/tags/')
run: |
echo ZIP_FILE_NAME=SDCcc-${{ env.RELEASE_VERSION }}${{ env.CHANGELIST }}-executable-win64.zip >> $GITHUB_ENV
- name: Install zip
if: startsWith(github.ref, 'refs/tags/')
uses: montudor/action-zip@v1
- name: Zip executable
if: startsWith(github.ref, 'refs/tags/')
working-directory: sdccc/build/zip
run: |
zip -qq -r ${{ env.ZIP_FILE_NAME }} .
- name: Zip test results
if: startsWith(github.ref, 'refs/tags/')
working-directory: sdccc/build/
run: |
zip -qq -r test-results.zip reports/tests reports/checkstyle reports/spotbugs reports/detekt
- name: Attach artifacts to snapshot
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
CHANGELOG.md
sdccc/build/zip/${{ env.ZIP_FILE_NAME }}
sdccc/build/test-results.zip
prerelease: ${{ !startsWith(github.ref, 'refs/tags/v') }}
body_path: CHANGELOG.md