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