diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2ebbc5ae..f987873a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,32 +1,37 @@ name: build -on: [pull_request, push] +on: + pull_request: + push: + branches: [ '**' ] jobs: build: strategy: matrix: - # Use these Java versions - java: [ 1.8 ] - # and run on both Linux and Windows - os: [ubuntu-latest, windows-latest] + java: [ 17 ] + os: [ ubuntu-latest, windows-latest ] runs-on: ${{ matrix.os }} + steps: - - uses: actions/checkout@v2 - - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@v1 - with: - java-version: ${{ matrix.java }} - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - uses: actions/cache@v2 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} - restore-keys: ${{ runner.os }}-gradle- - - name: Build with Gradle - run: ./gradlew build - env: - BUILD_NUMBER: ${{ github.run_number }} + - uses: actions/checkout@v2 + - name: Set up JDK ${{ matrix.java }} + uses: actions/setup-java@v1 + with: + java-version: ${{ matrix.java }} + - name: Grant execute permission for gradlew + run: chmod +x gradlew + - name: Validate Gradle wrapper + uses: gradle/wrapper-validation-action@v1 + - uses: actions/cache@v2 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} + restore-keys: ${{ runner.os }}-gradle- + - name: Build with Gradle + run: ./gradlew build + env: + GPR_USER: ${{ secrets.GPR_USER }} + GPR_KEY: ${{ secrets.GPR_KEY }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..41b0b8b2 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,63 @@ +name: publish + +on: + release: + types: [ published ] + +jobs: + build: + name: publish + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Extract Version from Tag + uses: rishabhgupta/split-by@v1 + id: split_tag + with: + string: ${{ github.event.release.tag_name }} + split-by: '/' + + - name: Set up JDK + uses: actions/setup-java@v1 + with: + java-version: 17 + - name: Grant execute permission for gradlew + run: chmod +x gradlew + - name: Validate Gradle wrapper + uses: gradle/wrapper-validation-action@v1 + - uses: actions/cache@v2 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ubuntu-latest-gradle-${{ hashFiles('**/*.gradle*') }} + restore-keys: ubuntu-latest-gradle- + - name: Build with Gradle + run: ./gradlew -Psemver='${{ steps.split_tag.outputs._1 }}' build + env: + GPR_USER: ${{ secrets.GPR_USER }} + GPR_KEY: ${{ secrets.GPR_KEY }} + + - name: Add Artifacts to Github Release + uses: alexellis/upload-assets@0.3.0 + env: + GITHUB_TOKEN: ${{ github.token }} + with: + asset_paths: '["./build/libs/*.jar"]' + + - name: Publish to Github Packages + run: gradle -Psemver='${{ steps.split_tag.outputs._1 }}' publish + env: + GPR_USER: ${{ secrets.GPR_USER }} + GPR_KEY: ${{ secrets.GPR_KEY }} + GITHUB_MAVEN_URL: 'https://maven.pkg.github.com/${{ github.repository }}' + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +# - name: Publish to Curseforge +# run: ./gradlew -Psemver='${{ steps.split_tag.outputs._1 }}' curseforge +# env: +# GPR_USER: ${{ secrets.GPR_USER }} +# GPR_KEY: ${{ secrets.GPR_KEY }} +# CURSEFORGE_API_KEY: ${{ secrets.CURSEFORGE_API_KEY }} +# CHANGELOG: ${{ github.event.release.body }}