Skip to content

Commit

Permalink
Setup CI
Browse files Browse the repository at this point in the history
  • Loading branch information
Hendrix-Shen committed Feb 9, 2023
1 parent 0c5b771 commit 4a17c15
Show file tree
Hide file tree
Showing 5 changed files with 121 additions and 121 deletions.
89 changes: 89 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: CI
on:
push:
branches:
- 'nyan-work/dev'

jobs:
build:
if: ${{ github.event_name == 'push' && !startsWith(github.event.ref, 'refs/tags/') && contains(github.event.head_commit.message, '[build skip]') == false }}
strategy:
matrix:
java: [ 17 ]
os: [ ubuntu-latest ]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout the sources
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: ${{ matrix.java }}

- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
./.gradle/loom-caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}

- name: Get short commit sha
id: get_short_sha
run: |
short_sha=$(echo ${GITHUB_SHA} | cut -c1-7)
echo "short_sha=$short_sha" >> $GITHUB_OUTPUT
- name: Get commit count
id: get_commit_count
run: |
commit_count=$(git log | grep -e 'commit [a-zA-Z0-9]*' | wc -l)
echo "commit_count=$commit_count" >> $GITHUB_OUTPUT
- name: Read Properties mod info
id: mod_info
uses: christian-draeger/[email protected]
with:
path: gradle.properties
properties: 'mod_name mod_version'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Preprocess sources
env:
BUILD_TYPE: "BETA"
run: ./gradlew preprocessResources --stacktrace

- name: Publish Maven with Gradle
env:
BUILD_TYPE: "BETA"
run: ./gradlew build --stacktrace

- name: Upload assets to GitHub Action
uses: actions/upload-artifact@v3
with:
name: "${{ steps.mod_info.outputs.mod_name }} ${{ steps.mod_info.outputs.mod_version }}.${{ steps.get_commit_count.outputs.commit_count }}+${{ steps.get_short_sha.outputs.short_sha }}"
path: |
LICENSE
fabricWrapper/build/libs/*.jar
fabricWrapper/build/tmp/submods/META-INF/jars/*.jar
- name: Create Github release
if: contains(github.event.head_commit.message, '[publish skip]') == false && contains(github.event.ref, 'refs/heads/exp') == false
uses: softprops/action-gh-release@v1
with:
prerelease: true
files: |
LICENSE
fabricWrapper/build/libs/*.jar
fabricWrapper/build/tmp/submods/META-INF/jars/*.jar
name: "[CI#${{ github.run_number }}]${{ steps.mod_info.outputs.mod_name }} ${{ steps.mod_info.outputs.mod_version }}.${{ steps.get_commit_count.outputs.commit_count }}+${{ steps.get_short_sha.outputs.short_sha }}"
tag_name: "${{ github.ref_name }}.${{ github.run_number }}"
target_commitish: ${{ github.event.ref }}
generate_release_notes: true
44 changes: 0 additions & 44 deletions .github/workflows/build.yml

This file was deleted.

65 changes: 0 additions & 65 deletions .github/workflows/publish.yml

This file was deleted.

43 changes: 32 additions & 11 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,41 @@ preprocess {
mc118.link(mc119, file("versions/mapping-1.18.2-1.19.2.txt"))
}

String realVersion = "${project.mod_version}"

if (project.pre_release != "") {
realVersion += "-${project.pre_release}+"
realVersion += grgit.head().abbreviatedId
}

version = realVersion

task cleanPreprocessSources {
tasks.register('cleanPreprocessSources') {
doFirst {
subprojects {
def path = project.projectDir.toPath().resolve('build/preprocessed')
path.toFile().deleteDir()
}
}
}
}

String getVersionGit(List paths) {
if (grgit == null) {
return "nogit"
}
List latestCommits = paths.isEmpty() ? grgit.log(maxCommits: 1) : grgit.log(paths: paths, maxCommits: 1)
return latestCommits.isEmpty() ? "uncommited" : "${latestCommits.get(0).id.substring(0, 7)}"
}

String getVersionType() {
Map<String, String> ENV = System.getenv()
switch (ENV.BUILD_TYPE) {
case "RELEASE":
return "stable"
case "BETA":
return "beta"
default:
return "dev"
}
}

int getVersionPatch(List paths) {
if (grgit == null) {
return 0
}
List latestCommits = paths.isEmpty() ? grgit.log() : grgit.log(paths: paths)
return latestCommits.size()
}

setVersion("${project.mod_version}.${getVersionPatch([])}+${getVersionGit([])}-${getVersionType()}")
1 change: 0 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ mod_homepage=https://blog.plusls.com/
mod_sources=https://github.com/plusls/oh-my-minecraft-client
mod_version=0.5
mod_license=LGPL-3
pre_release=alpha
maven_group=com.plusls
archives_base_name=oh-my-minecraft-client
# Deps
Expand Down

0 comments on commit 4a17c15

Please sign in to comment.