Compare commits

..

10 Commits

Author SHA1 Message Date
Geoff Bourne ac9f8e1f6b Passing -e to compose up was wrong 2026-06-26 07:26:37 -05:00
Geoff Bourne c7a0f39f29 Pass GH_TOKEN to containers started during tests 2026-06-26 07:17:53 -05:00
Harrison Black 292b2f757e paper: Fix boolean flag always return true (#4134) 2026-06-25 12:36:59 -05:00
Harrison Black 82043d556e Add purpur support for ServerLibraryCleaner (#4133) 2026-06-25 12:35:29 -05:00
Geoff Bourne d9bf26cc17 GTNH: allow for spaces in GTNH_PACK_VERSION (#4132) 2026-06-25 10:21:50 -05:00
dependabot[bot] 8b076e4868 build(deps): bump docker/build-push-action from 6 to 7 (#4124) 2026-06-24 12:20:04 -05:00
dependabot[bot] 4c534490f2 build(deps): bump pymdown-extensions from 10.21.3 to 11.0 in /docs (#4128) 2026-06-24 07:13:00 -05:00
dependabot[bot] 314beec407 build(deps): bump the patches group in /docs with 4 updates (#4127) 2026-06-24 06:54:41 -05:00
Geoff Bourne 2ecf6776e2 Handle non-specific file types in start-utils extraction logic (#4121) 2026-06-23 07:34:36 -05:00
Geoff Bourne dadecdac28 Improved and refactored sponsor labeler workflow (#4123) 2026-06-22 15:19:38 -05:00
11 changed files with 56 additions and 40 deletions
+4 -4
View File
@@ -104,7 +104,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v6.0.3
uses: actions/checkout@v7
with:
# for build-files step
fetch-depth: 0
@@ -141,13 +141,13 @@ jobs:
org.opencontainers.image.authors=Geoff Bourne <itzgeoff@gmail.com>
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v4.1.0
uses: docker/setup-buildx-action@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v4.1.0
- name: Build for test
uses: docker/build-push-action@v7.2.0
uses: docker/build-push-action@v7
with:
platforms: linux/amd64
tags: ${{ env.IMAGE_TO_TEST }}
@@ -187,7 +187,7 @@ jobs:
password: ${{ github.token }}
- name: Build and push
uses: docker/build-push-action@v7.2.0
uses: docker/build-push-action@v7
if: github.actor == github.repository_owner
with:
platforms: ${{ matrix.platforms }}
+6 -13
View File
@@ -1,4 +1,5 @@
name: Label Sponsor Contributions
name: Sponsor Labeler
on:
issues:
types:
@@ -9,15 +10,7 @@ on:
jobs:
label-sponsor:
runs-on: ubuntu-latest
permissions:
pull-requests: write
issues: write
steps:
- name: Check if sponsor
uses: JasonEtco/is-sponsor-label-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
label: sponsor
uses: itzg/github-workflows/.github/workflows/sponsor-labeler.yml@main
with:
author: ${{ github.event.issue.user.login || github.event.pull_request.user.login }}
number: ${{ github.event.issue.number || github.event.pull_request.number }}
+3 -3
View File
@@ -13,13 +13,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4
- name: Build docs image
uses: docker/build-push-action@v6
uses: docker/build-push-action@v7
with:
context: .
file: docs/Dockerfile
+4 -4
View File
@@ -53,16 +53,16 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v6.0.3
uses: actions/checkout@v7
with:
# for build-files step
fetch-depth: 0
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v4.1.0
uses: docker/setup-buildx-action@v4
- name: Confirm multi-arch build
uses: docker/build-push-action@v7.2.0
uses: docker/build-push-action@v7
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@v7.2.0
uses: docker/build-push-action@v7
with:
# Only build single platform since loading multi-arch image into daemon fails with
# "docker exporter does not currently support exporting manifest lists"
+5 -2
View File
@@ -26,7 +26,10 @@ docker run -d --pull=always \
By default, supported server types remove stale server libraries during installation by setting `CLEAN_SERVER_LIBRARIES` to `true`. Set `CLEAN_SERVER_LIBRARIES` to `false` to disable this cleanup if it causes unexpected behavior.
Currently, library cleanup is supported by `TYPE=PAPER`. Other server jar types are not yet supported.
Currently, library cleanup is supported by
- `TYPE=PAPER`
- `TYPE=PURPUR`
## Running as alternate user/group ID
@@ -244,4 +247,4 @@ To also include the timestamp with each log, set `LOG_TIMESTAMP` to "true". The
```
[init] 2022-02-05 16:58:33+00:00 Starting the Minecraft server...
```
```
+5 -5
View File
@@ -1,8 +1,8 @@
click==8.4.1
colorama==0.4.6
deepmerge==2.0
deepmerge==2.1.0
ghp-import==2.1.0
griffe==2.0.2
griffe==2.1.0
Jinja2==3.1.6
Markdown==3.10.2
MarkupSafe==3.0.3
@@ -11,15 +11,15 @@ mkdocs==1.6.1
mkdocs-autorefs==1.4.4
mkdocs-get-deps==0.2.2
mkdocstrings==1.0.4
mkdocstrings-python==2.0.4
mkdocstrings-python==2.0.5
packaging==26.2
pathspec==1.1.1
platformdirs==4.10.0
Pygments==2.20.0
pymdown-extensions==10.21.3
pymdown-extensions==11.0
python-dateutil==2.9.0.post0
PyYAML==6.0.3
pyyaml_env_tag==1.1
six==1.17.0
watchdog==6.0.0
zensical==0.0.45
zensical==0.0.46
+2 -2
View File
@@ -31,7 +31,7 @@ function getGTNHdownloadPath(){
else
if ! release_object="$(
curl -fsSL "https://downloads.gtnewhorizons.com/versions.json" \
| jq -r --arg USRIN $GTNH_PACK_VERSION '.versions|to_entries|sort_by(.value.releaseDate)|map(select(.key==$USRIN))|.[]'
| jq -r --arg USRIN "$GTNH_PACK_VERSION" '.versions|to_entries|sort_by(.value.releaseDate)|map(select(.key==$USRIN))|.[]'
)"; then logError "Failed to retrieve release from https://downloads.gtnewhorizons.com/versions.json"
exit 1
fi
@@ -160,7 +160,7 @@ function handleGTNH() {
deleteGTNHbackup
fi
if [[ -n $GTNH_PACK_VERSION ]] && isFalse "$SKIP_GTNH_UPDATE_CHECK" ; then
if [[ -n "$GTNH_PACK_VERSION" ]] && isFalse "$SKIP_GTNH_UPDATE_CHECK" ; then
getGTNHdownloadPath
+2 -2
View File
@@ -24,7 +24,7 @@ elif [[ $PAPER_DOWNLOAD_URL ]]; then
--url="$PAPER_DOWNLOAD_URL"
)
if [[ $CLEAN_SERVER_LIBRARIES ]]; then
if isTrue $CLEAN_SERVER_LIBRARIES; then
args+=(--clean-libraries)
fi
@@ -45,7 +45,7 @@ else
args+=(--build="$PAPER_BUILD")
fi
if [[ $CLEAN_SERVER_LIBRARIES ]]; then
if isTrue $CLEAN_SERVER_LIBRARIES; then
args+=(--clean-libraries)
fi
+13 -4
View File
@@ -5,6 +5,7 @@ IFS=$'\n\t'
: "${PURPUR_BUILD:=LATEST}"
: "${PURPUR_DOWNLOAD_URL:=}"
: "${PURPUR_CONFIG_REPO:=}"
: "${CLEAN_SERVER_LIBRARIES:=true}"
# shellcheck source=start-utils
. "$(dirname "$0")/start-utils"
@@ -13,10 +14,15 @@ isDebugging && set -x
resultsFile=/data/.purpur.env
if [[ $PURPUR_DOWNLOAD_URL ]]; then
if ! mc-image-helper install-purpur \
--output-directory=/data \
--results-file="$resultsFile" \
--url="${PURPUR_DOWNLOAD_URL}"; then
args=(
--output-directory=/data
--results-file="$resultsFile"
--url="${PURPUR_DOWNLOAD_URL}"
)
if isTrue "$CLEAN_SERVER_LIBRARIES"; then
args+=(--clean-libraries)
fi
if ! mc-image-helper install-purpur "${args[@]}"; then
logError "Failed to download from custom Purpur URL"
exit 1
fi
@@ -29,6 +35,9 @@ else
if [[ $PURPUR_BUILD ]]; then
args+=(--build="$PURPUR_BUILD")
fi
if isTrue "$CLEAN_SERVER_LIBRARIES"; then
args+=(--clean-libraries)
fi
if ! mc-image-helper install-purpur "${args[@]}"; then
logError "Failed to download Purpur"
exit 1
+11
View File
@@ -560,6 +560,17 @@ function extract() {
# remaining args are paths within the archive to extract; if none, extract everything
type=$(file -b --mime-type "${src}")
if [[ "$type" == application/octet-stream ]]; then
logWarning "Detected non-specific file type $type for $src"
case "$src" in
*.zip)
log "Assuming zip from extension"
type=application/zip
;;
# otherwise fall through to
esac
fi
case "${type}" in
application/zip)
unzip -o -q -d "${destDir}" "${src}" "$@"
+1 -1
View File
@@ -46,7 +46,7 @@ setupOnlyMinecraftTest(){
start=$(date +%s)
status=PASSED
verify=
if ! logs=$(docker compose run --rm -e SETUP_ONLY=true -e DEBUG="${DEBUG:-false}" mc 2>&1); then
if ! logs=$(docker compose run --rm -e SETUP_ONLY=true -e DEBUG="${DEBUG:-false}" -e GH_TOKEN="${GH_TOKEN:-}" mc 2>&1); then
status=FAILED
outputContainerLog "$logs"
result=1