Skip to content

refactor: Replace ReplayMod's preprocessor with Manifold's #1014

refactor: Replace ReplayMod's preprocessor with Manifold's

refactor: Replace ReplayMod's preprocessor with Manifold's #1014

Workflow file for this run

name: build
on:
push:
branches:
- root
pull_request:
jobs:
build-configurator:
name: Build Configurator
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v4
with:
context: ./web
push: true
tags: ghcr.io/null2264/cobblegen-configurator:web
generate-matrix:
name: Generate Matrix
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.matrix.outputs.matrix }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup matrix
id: matrix
run: echo "matrix=$(jq -cr . ./versions.json)" >> $GITHUB_OUTPUT
build:
name: Build
needs: generate-matrix
runs-on: ubuntu-latest
strategy:
fail-fast: false # Don't cancel if one failed
matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Gradle
uses: null2264/actions/gradle-setup@6712f98d592b126629afd27dc4870c93b53426b4
with:
java: 21
- name: Build with Gradle
run: |
./gradlew build -PmcVer="${{ matrix.mc }}" -Ploom.platform="${{ matrix.loader }}"
- name: Setup Java for Test
run: |
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java ${{ matrix.java }}
- name: Setup HeadlessMC
run: |
mkdir -p HeadlessMC "run/test-${{ matrix.mc }}-${{ matrix.loader }}/mods"
cat <<EOF >> HeadlessMC/config.properties
hmc.java.versions="$HOME/.sdkman/candidates/java/${{ matrix.java }}"
hmc.gamedir="$PWD/run/test-${{ matrix.mc }}-${{ matrix.loader }}"
hmc.offline=true
hmc.rethrow.launch.exceptions=true
hmc.exit.on.failed.command=true
EOF
json="$(curl -s "https://api.github.com/repos/3arthqu4ke/headlessmc/releases/latest" --header "Authorization: ${{ secrets.GITHUB_TOKEN }}")"
url="$(echo $json | jq -r '.assets[].browser_download_url' | grep .jar | grep launcher | grep -v jfx | grep -v wrapper)"
curl -Ls -o "headlessmc-launcher.jar" $url
java -jar ./headlessmc-launcher.jar --command download ${{ matrix.loader }}:${{ matrix.mc }}
- name: Tests
run: |
echo "${{ join(matrix.testVersions, ' ') }}"
- name: Archive build results
run: tar -I zstd -cf build.tar.zst cobblegen/build/libs/*
- name: Upload build folder
uses: actions/upload-artifact@v4
with:
name: mc${{ matrix.mc }}-${{ matrix.loader }}-build-artifacts
path: build.tar.zst
if-no-files-found: error
retention-days: 3