Files
fabric-carpet/.github/workflows/rules-to-wiki.yml
T
altrisi d8009a3719 Add GitHub Actions (#496)
* 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
2020-10-22 17:04:27 -03:00

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