Fix #353 #81
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Leaves CI | |
on: | |
push: | |
branches: [ master ] | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Get JDK 21 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: "21" | |
distribution: "zulu" | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v3 | |
with: | |
add-job-summary: never | |
generate-job-summary: false | |
cache-read-only: false | |
- name: Setup Git Config | |
run: | | |
git config --global user.email "ci@leavesmc.org" | |
git config --global user.name "LeavesMC CI" | |
- name: Get Build Number | |
run: bash scripts/GetBuildNumber.sh | |
- name: Apply Patches | |
run: ./gradlew applyPatches | |
- name: Create Leavesclip Jar | |
run: ./gradlew createMojmapLeavesclipJar | |
env: | |
BUILD_NUMBER: ${{ env.BUILD_NUMBER }} | |
- name: Publish to Maven repo | |
run: ./gradlew :leaves-api:publish | |
env: | |
LEAVES_USERNAME: ${{ secrets.NEW_REPO_USERNAME }} | |
LEAVES_PASSWORD: ${{ secrets.NEW_REPO_PASSWORD }} | |
- name: Create Configuration | |
continue-on-error: true | |
run: ./gradlew createLeavesConfig | |
- name: Push Configuration | |
continue-on-error: true | |
run: | | |
mkdir --parents "$HOME/.ssh" | |
ssh-keyscan -H "github.com" > "$HOME/.ssh/known_hosts" | |
echo "${{ secrets.CONFIG_DEPLOY_KEY }}" > "$HOME/.ssh/deploy.key" | |
chmod 400 "$HOME/.ssh/deploy.key" | |
export GIT_SSH_COMMAND="ssh -i $HOME/.ssh/deploy.key" | |
git clone git@github.com:LeavesMC/Configuration.git configuration -b Leaves | |
cp run/leaves.yml configuration/leaves.yml -f | |
cd configuration | |
git add leaves.yml | |
git commit leaves.yml -m "$(date -u +"%Y-%m-%dT%H:%M:%SZ") | |
https://github.com/LeavesMC/Leaves/commit/$(cd .. && git rev-parse HEAD)" | |
git push origin HEAD:Leaves | |
- name: Get Release Info | |
run: bash scripts/GetReleaseInfo.sh | |
env: | |
BUILD_NUMBER: ${{ env.BUILD_NUMBER }} | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.jar }} | |
path: ${{ env.jar }} | |
- name: Delete Draft Releases | |
if: "!contains(github.event.commits[0].message, '[release-skip]')" | |
continue-on-error: true | |
uses: hugo19941994/delete-draft-releases@v1.0.1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Create Release | |
if: "!contains(github.event.commits[0].message, '[release-skip]')" | |
continue-on-error: true | |
uses: ncipollo/release-action@v1 | |
with: | |
artifacts: ${{ env.jar }} | |
bodyFile: ${{ env.info }} | |
tag: ${{ env.tag }} | |
name: ${{ env.name }} | |
prerelease: ${{ env.pre }} | |
token: ${{ secrets.GITHUB_TOKEN }} | |
makeLatest: ${{ env.make_latest }} | |
- name: Github Releases To Discord | |
if: "!contains(github.event.commits[0].message, '[release-skip]')" | |
continue-on-error: true | |
uses: tsickert/discord-webhook@v6.0.0 | |
with: | |
webhook-url: ${{ secrets.DISCORD_WEBHOOK }} | |
raw-data: ${{ env.discordmes }} | |
- name: Push to API | |
if: "!contains(github.event.commits[0].message, '[release-skip]')" | |
continue-on-error: true | |
env: | |
secret: ${{ secrets.API_PUSH_TOKEN }} | |
secret_v2: ${{ secrets.API_V2_PUSH_TOKEN }} | |
tag: ${{ env.tag }} | |
run: sh scripts/PushToAPI.sh | |
- name: Upload to cloud | |
if: "!contains(github.event.commits[0].message, '[release-skip]')" | |
continue-on-error: true | |
uses: wei/rclone@v1 | |
env: | |
RCLONE_CONF: ${{ secrets.RCLONE_CONF }} | |
with: | |
args: copy ${{ env.jar }} FTP:${{ env.tag }} --contimeout 10s --progress |