* Add Github actions Using bot's mail looks better in the wiki, since in main page it shows the pusher name but in the revisions tab it shows the bot. Allow failure is to prevent the commit appearing with a cross just because the wiki didn't change. It can probably also be fixed in the command part, but does the same * Rules-to-wiki 1.0
76 lines
2.5 KiB
YAML
76 lines
2.5 KiB
YAML
name: Update wiki
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- "src/main/java/carpet/CarpetSettings.java"
|
|
jobs:
|
|
Rules:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Carpet sources
|
|
uses: actions/checkout@v2
|
|
- name: Set up JDK 1.8
|
|
uses: actions/setup-java@v1
|
|
with:
|
|
java-version: 1.8
|
|
- name: Cache Gradle packages
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ~/.gradle/caches
|
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
|
|
restore-keys: ${{ runner.os }}-gradle
|
|
- name: Generate RulePrinter class
|
|
run: |
|
|
cd src/main/java/carpet/utils
|
|
echo "
|
|
package carpet.utils;
|
|
import carpet.CarpetServer;
|
|
import carpet.settings.SettingsManager;
|
|
import net.fabricmc.loader.api.entrypoint.PreLaunchEntrypoint;
|
|
import java.lang.System;
|
|
public class RulePrinter implements PreLaunchEntrypoint {
|
|
@Override
|
|
public void onPreLaunch() {
|
|
CarpetServer.onGameStarted();
|
|
CarpetServer.settingsManager.printAllRulesToLog(null);
|
|
System.exit(0);
|
|
}
|
|
}
|
|
" > RulePrinter.java
|
|
cd ../../../../../
|
|
- name: Replace fabric.mod.json
|
|
run: |
|
|
cd src/main/resources
|
|
rm fabric.mod.json
|
|
echo '
|
|
{
|
|
"schemaVersion": 1,
|
|
"id": "carpet",
|
|
"version": "1.4.11",
|
|
"entrypoints": {
|
|
"preLaunch": [ "carpet.utils.RulePrinter" ]
|
|
}
|
|
}' > fabric.mod.json
|
|
cd ../../../
|
|
- name: Run solution
|
|
run: |
|
|
chmod +x gradlew
|
|
./gradlew runServer > settings-toProccess.txt
|
|
- name: Checkout wiki
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: ${{github.repository}}.wiki
|
|
path: wiki
|
|
- name: Proccess Gradle log into a pretty wiki page
|
|
run: from1="# Carpet"; to2="BUILD SUCCESSFUL"; a="$(cat settings-toProccess.txt)"; a="$(echo "${a#*"$from1"}")"; echo "$from1${a%%"$to2"*}" > wiki/Current-Available-Settings.md
|
|
- name: Commit updated wiki page
|
|
continue-on-error: true
|
|
run: |
|
|
cd wiki
|
|
git config --global user.name '${{ github.event.pusher.name }}' # Looks better than "github-actions-bot"
|
|
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
|
|
git commit -am "Update wiki for '${{ github.event.head_commit.message }}'"
|
|
git push
|