Compare commits

...

7 Commits

Author SHA1 Message Date
Geoff Bourne
f502acfbff build: fix regex pattern that was bad in docs 2026-02-16 12:06:30 -06:00
Geoff Bourne
d217e21903 Corrected enabled managers reference (#3936) 2026-02-16 11:51:50 -06:00
dependabot[bot]
dd5e2be036 build(deps): bump griffe from 1.15.0 to 2.0.0 in /docs (#3941)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-16 11:50:18 -06:00
dependabot[bot]
b818a72e54 build(deps): bump the patches group in /docs with 5 updates (#3940) 2026-02-16 08:52:26 -06:00
dependabot[bot]
fe1cadcb0d build(deps): bump docker/build-push-action from 6.18.0 to 6.19.2 in the updates group (#3939) 2026-02-16 08:50:24 -06:00
Geoff Bourne
ac125dc15e Temporarily replace GTNH ServerPacks call with restify+jq (#3938) 2026-02-15 17:33:46 -06:00
Andre Blanke
4c0fd104c6 Exit early on failed GTNH packs retrieval (#3931) 2026-02-15 13:20:18 -06:00
16 changed files with 36 additions and 66 deletions

View File

@@ -17,7 +17,7 @@ on:
- "compose-docs.yml"
- "zensical.toml"
- ".readthedocs.yaml"
- "renovate.json*"
- "renovate.json5"
jobs:
build:
@@ -138,7 +138,7 @@ jobs:
uses: docker/setup-qemu-action@v3.7.0
- name: Build for test
uses: docker/build-push-action@v6.18.0
uses: docker/build-push-action@v6.19.2
with:
platforms: linux/amd64
tags: ${{ env.IMAGE_TO_TEST }}
@@ -178,7 +178,7 @@ jobs:
password: ${{ github.token }}
- name: Build and push
uses: docker/build-push-action@v6.18.0
uses: docker/build-push-action@v6.19.2
if: github.actor == github.repository_owner
with:
platforms: ${{ matrix.platforms }}

View File

@@ -14,7 +14,7 @@ on:
- "compose-docs.yml"
- "zensical.toml"
- ".readthedocs.yaml"
- "renovate.json*"
- "renovate.json5"
jobs:
build:
@@ -62,7 +62,7 @@ jobs:
uses: docker/setup-buildx-action@v3.12.0
- name: Confirm multi-arch build
uses: docker/build-push-action@v6.18.0
uses: docker/build-push-action@v6.19.2
with:
platforms: ${{ matrix.platforms }}
# ensure latest base image is used
@@ -73,7 +73,7 @@ jobs:
cache-from: type=gha,scope=${{ matrix.variant }}
- name: Build for test
uses: docker/build-push-action@v6.18.0
uses: docker/build-push-action@v6.19.2
with:
# Only build single platform since loading multi-arch image into daemon fails with
# "docker exporter does not currently support exporting manifest lists"

View File

@@ -49,7 +49,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--var version=${MC_SERVER_RUNNER_VERSION} --var app=mc-server-runner --file {{.app}} \
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
# renovate: datasource=github-releases depName=itzg/mc-image-helper versioning=loose
# renovate: datasource=github-releases packageName=itzg/mc-image-helper versioning=loose
ARG MC_HELPER_VERSION=1.54.0
ARG MC_HELPER_BASE_URL=${GITHUB_BASEURL}/itzg/mc-image-helper/releases/download/${MC_HELPER_VERSION}
# used for cache busting local copy of mc-image-helper

15
compose-dev.yml Normal file
View File

@@ -0,0 +1,15 @@
services:
mc-dev:
build:
context: .
environment:
EULA: true
volumes:
- ./scripts:/image/scripts:ro
- data:/data
ports:
- "25565:25565"
stdin_open: true
tty: true
volumes:
data:

View File

@@ -11,61 +11,15 @@ Adding a new server `TYPE` can vary due to the complexity of obtaining and confi
## Iterative script development
Individual scripts can be iteratively developed, debugged, and tested using the following procedure.
First, build a baseline of the image to include the packages needed by existing or new scripts:
PowerShell: (Example of building and testing ForgeAPI)
```powershell
$env:FOLDER_TO_TEST="forgeapimods_projectids"
$env:IMAGE_TO_TEST="mc-dev"
docker build -t $env:IMAGE_TO_TEST .
pushd "tests/setuponlytests/$env:FOLDER_TO_TEST/"
docker compose run mc
docker compose down -v --remove-orphans
popd
```
PowerShell: Building different images of Java for testing
```powershell
$env:BASE_IMAGE='eclipse-temurin:8u312-b07-jre'
$env:IMAGE_TO_TEST="mc-dev"
docker build --build-arg BASE_IMAGE=$env:BASE_IMAGE -t $env:IMAGE_TO_TEST .
```
Bash: (Example of building and testing ForgeAPI)
```bash
export FOLDER_TO_TEST="forgeapimods_file"
export IMAGE_TO_TEST="mc-dev"
docker build -t $IMAGE_TO_TEST .
pushd tests/setuponlytests/$FOLDER_TO_TEST/
docker compose run mc
docker compose down -v --remove-orphans
popd
```
Using the baseline image, an interactive container can be started to iteratively run the scripts to be developed. By attaching the current workspace directory, you can use the local editor of your choice to iteratively modify scripts while using the container to run them.
The included `compose-dev.yml` will mount the local `scripts` code into the container and allow for iterative development. Replace `[-e key=value]` with any environment variables you wish to set for testing the modified scripts.
```shell
docker run -it --rm -v ${PWD}:/image/scripts --entrypoint bash mc-dev
docker compose -f compose-dev.yml run --rm -it [-e key=value] mc-dev
```
From within the container you can run individual scripts via the attached `/image/scripts/` path; however, be sure to set any environment variables expected by the scripts by either `export`ing them manually:
!!! tip
```shell
export VERSION=1.12.2
/image/scripts/start-deployFabric
```
...or pre-pending script execution:
```shell
VERSION=1.12.2 /image/scripts/start-deployFabric
```
!!! note
You may want to temporarily add an `exit` statement near the end of your script to isolate execution to just the script you're developing.
To speed up the development cycle, it is recommended to set `SETUP_ONLY` to `true` as part of the run command above.
## Using development copy of tools

View File

@@ -2,21 +2,21 @@ click==8.3.1
colorama==0.4.6
deepmerge==2.0
ghp-import==2.1.0
griffe==1.15.0
griffe==2.0.0
Jinja2==3.1.6
Markdown==3.10.1
Markdown==3.10.2
MarkupSafe==3.0.3
mergedeep==1.3.4
mkdocs==1.6.1
mkdocs-autorefs==1.4.3
mkdocs-autorefs==1.4.4
mkdocs-get-deps==0.2.0
mkdocstrings==1.0.3
mkdocstrings-python==2.0.1
mkdocstrings-python==2.0.2
packaging==26.0
pathspec==1.0.4
platformdirs==4.5.1
platformdirs==4.9.2
Pygments==2.19.2
pymdown-extensions==10.20.1
pymdown-extensions==10.21
python-dateutil==2.9.0.post0
PyYAML==6.0.3
pyyaml_env_tag==1.1

View File

@@ -1,14 +1,14 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"enabledManagers": [
"custom"
"custom.regex"
],
"customManagers": [
{
"customType": "regex",
"managerFilePatterns": ["/^Dockerfile$/"],
"matchStrings": [
"# renovate: datasource=(?<datasource>[a-z-]+?)(?: packageName=(?<packageName>.+?))? (?: versioning=(?<versioning>[a-z-]+?))?\\s(?:ENV|ARG) .+?_VERSION=(?<currentValue>.+?)\\s"
"# renovate: datasource=(?<datasource>[a-z-]+?)(?: packageName=(?<packageName>.+?))?(?: versioning=(?<versioning>[a-z-]+))?\\s(?:ENV|ARG) .+?_VERSION=(?<currentValue>.+?)\\s"
]
}
]

0
scripts/start-deployAutoCF Normal file → Executable file
View File

0
scripts/start-deployFolia Normal file → Executable file
View File

3
scripts/start-deployGTNH Normal file → Executable file
View File

@@ -8,10 +8,11 @@ function getGTNHdownloadPath(){
gtnh_download_path=""
current_java_version=$(mc-image-helper java-release)
if ! mapfile -t packs < <(curl -sfL 'http://downloads.gtnewhorizons.com/ServerPacks/?raw'); then
if ! packs_data="$(restify --tag=a https://www.gtnewhorizons.com/version-history/ | jq -r '.[].href | select(test("Server"))')"; then
logError "Failed to retrieve data from http://downloads.gtnewhorizons.com/ServerPacks/?raw"
exit 1
fi
mapfile -t packs <<< "$packs_data"
log "Start locating server files..."
for pack in "${packs[@]}"; do

0
scripts/start-deployLeaf Normal file → Executable file
View File

0
scripts/start-deployModrinth Normal file → Executable file
View File

0
scripts/start-deployNeoForge Normal file → Executable file
View File

0
scripts/start-deployPoseidon Normal file → Executable file
View File

0
scripts/start-rconcmds Normal file → Executable file
View File

0
scripts/start-setupRbac Normal file → Executable file
View File