diff options
| author | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-04 23:00:30 +0300 |
|---|---|---|
| committer | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-04 23:00:30 +0300 |
| commit | 71ffb442e5f8072c6e0a974df9ae085bcf0e5d2a (patch) | |
| tree | d336b1d64747aeebb1a80c2e7c4e9b5d24253751 /meshmc | |
| parent | f96ea38d595162813a460f80f84e20f8d7f241bc (diff) | |
| download | Project-Tick-71ffb442e5f8072c6e0a974df9ae085bcf0e5d2a.tar.gz Project-Tick-71ffb442e5f8072c6e0a974df9ae085bcf0e5d2a.zip | |
NOISSUE update bootstrap script paths in documentation for Linux and Windows
remove unnecessary badges from README
add example environment configuration for Ofborg
create production configuration for Ofborg
correct RabbitMQ host in example configuration
add push event handling in GitHub webhook receiver
implement push filter task for handling push events
extend build job structure to include push event information
enhance build result structure to accommodate push event data
add push event data handling in various message processing tasks
update log message collector to prevent 404 errors on log links
add push filter task to task module
Signed-off-by: Mehmet Samet Duman <yongdohyun@projecttick.org>
Diffstat (limited to 'meshmc')
| -rw-r--r-- | meshmc/BUILD.md | 4 | ||||
| -rw-r--r-- | meshmc/CODE_OF_CONDUCT.md | 118 | ||||
| -rw-r--r-- | meshmc/README.md | 2 | ||||
| -rw-r--r-- | meshmc/bootstrap.cmd | 196 | ||||
| -rwxr-xr-x | meshmc/bootstrap.sh | 285 | ||||
| -rw-r--r-- | meshmc/lefthook.yml | 37 |
6 files changed, 3 insertions, 639 deletions
diff --git a/meshmc/BUILD.md b/meshmc/BUILD.md index d9058f7eb9..118324d2f8 100644 --- a/meshmc/BUILD.md +++ b/meshmc/BUILD.md @@ -36,7 +36,7 @@ and sets up lefthook git hooks. ### Linux / macOS ```bash -./bootstrap.sh +../bootstrap.sh ``` Supported distributions: Debian, Ubuntu, Fedora, RHEL/CentOS, openSUSE, Arch Linux, macOS (via Homebrew). @@ -44,7 +44,7 @@ Supported distributions: Debian, Ubuntu, Fedora, RHEL/CentOS, openSUSE, Arch Lin ### Windows ```cmd -bootstrap.cmd +..\bootstrap.cmd ``` Uses [Scoop](https://scoop.sh) for CLI tools and [vcpkg](https://github.com/microsoft/vcpkg) for C/C++ libraries. diff --git a/meshmc/CODE_OF_CONDUCT.md b/meshmc/CODE_OF_CONDUCT.md deleted file mode 100644 index f3f877ff21..0000000000 --- a/meshmc/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,118 +0,0 @@ -# Project Tick Code of Conduct - -## Version 2, 15 February 2026 - -### 1. Purpose - -Project Tick is a free software infrastructure initiative committed to technical excellence, legal clarity, and long-term sustainability. - -This Code of Conduct defines the behavioral and ethical standards expected across all Project Tick spaces. Its purpose is to protect contributors, maintain the integrity of the ecosystem, and ensure the security and reliability of our infrastructure. - -Participation in Project Tick constitutes agreement to abide by this Code. - -### 2. Core Principles - -Project Tick operates according to the following foundational principles: - -- Respect for human dignity -- Commitment to technical integrity -- Strict adherence to licensing and attribution requirements -- Protection of infrastructure security and supply-chain integrity -- Good-faith collaboration - -These principles apply equally to maintainers, contributors, and participants. - -### 3. Expected Conduct - -All participants are expected to: - -1. Engage in respectful, constructive, and technically relevant discussion. -2. Accept review, feedback, and architectural decisions professionally. -3. Provide accurate attribution and comply fully with applicable licenses. -4. Disclose conflicts of interest where relevant. -5. Protect confidential or sensitive information. -6. Act in ways that strengthen the reliability and long-term sustainability of the ecosystem. -7. Respect differing technical or philosophical viewpoints without personal hostility. - -Criticism of ideas is encouraged. Personal attacks are not. - -### 4. Prohibited Conduct - -The following behaviors are considered violations of this Code of Conduct: - -#### 4.1 Personal and Social Misconduct - -- Harassment, intimidation, or threats -- Discriminatory behavior based on identity or personal characteristics -- Insulting, demeaning, or hostile personal attacks -- Sexualized behavior inappropriate to a professional technical environment -- Sharing private information without explicit consent - -#### 4.2 Technical and Legal Misconduct - -- Intentional submission of malicious code -- Supply-chain compromise attempts -- License violations or intentional misattribution -- Plagiarism or failure to credit sources -- False copyright claims -- Impersonation of maintainers or other participants -- Infrastructure abuse, including CI/CD exploitation or service disruption -- Repeated bad-faith technical disruption - -Project maintainers reserve the right to determine whether conduct violates the spirit or intent of this Code. - -### 5. Scope - -This Code of Conduct applies to: - -- All Project Tick repositories -- Mailing lists and communication channels -- Issue trackers and merge requests -- Continuous integration systems -- Infrastructure services and hosting environments -- Official Project Tick domains and email accounts -- Public representation of the project - -Individuals representing Project Tick in any official capacity are expected to uphold this Code at all times. - -### 6. Reporting - -Violations may be reported confidentially to: - -conduct@projecttick.org - -Reports will be reviewed in a timely and objective manner. Confidentiality will be respected to the extent reasonably possible. - -Malicious or knowingly false reports may themselves constitute a violation. - -### 7. Enforcement - -Enforcement decisions are made by the Project Tick maintainers. - -Depending on severity, actions may include: - -1. Private warning -2. Temporary communication restriction -3. Temporary suspension of repository access -4. Permanent removal of access to Project Tick spaces - -Serious security, infrastructure, or legal violations may result in immediate permanent removal. - -Enforcement decisions are final and are not subject to public vote. - -### 8. Remediation - -Where appropriate, resolution may involve: - -- Acknowledgment of harm -- Corrective action or documentation -- License compliance remediation -- Demonstrated behavioral improvement - -Reinstatement after suspension is at the sole discretion of the maintainers. - -### 9. Independence - -This document was inspired by Contributor Covenant 3.0 but has been independently written and adapted to reflect the governance, infrastructure, and legal priorities of Project Tick. - -Project Tick maintains full authority over the interpretation and enforcement of this Code. diff --git a/meshmc/README.md b/meshmc/README.md index 87d86cc82c..b8ab5172e2 100644 --- a/meshmc/README.md +++ b/meshmc/README.md @@ -1,6 +1,6 @@ MeshMC ====== -[](https://api.reuse.software/info/github.com/Project-Tick/MeshMC) [](https://cla-assistant.io/Project-Tick/MeshMC) [](https://www.gnu.org/licenses/gpl-3.0.html) [](https://crowdin.com/project/projtlauncher) +[](https://www.gnu.org/licenses/gpl-3.0.html) [](https://crowdin.com/project/projtlauncher) MeshMC is a custom launcher for Minecraft that focuses on predictability, long term stability and simplicity. diff --git a/meshmc/bootstrap.cmd b/meshmc/bootstrap.cmd deleted file mode 100644 index 9da8b46195..0000000000 --- a/meshmc/bootstrap.cmd +++ /dev/null @@ -1,196 +0,0 @@ -@echo off -rem SPDX-License-Identifier: GPL-3.0-or-later -rem SPDX-FileCopyrightText: 2026 Project Tick -rem -rem MeshMC Bootstrap Script (Windows) -rem Checks dependencies, installs via vcpkg/scoop, and sets up lefthook. - -setlocal EnableDelayedExpansion - -cd /d "%~dp0" - -echo. -echo [INFO] MeshMC Bootstrap -echo --------------------------------------------- -echo. - -rem ── Submodules ────────────────────────────────────────────────────────────── -if not exist ".git" ( - echo [ERR] Not a git repository. Please run this script from the project root. 1>&2 - exit /b 1 -) - -echo [INFO] Setting up submodules... -git submodule update --init --recursive -if errorlevel 1 ( - echo [ERR] Submodule initialization failed. 1>&2 - exit /b 1 -) -echo [ OK ] Submodules initialized -echo. - -rem ── Check for scoop ───────────────────────────────────────────────────────── -set "HAS_SCOOP=0" -where scoop >nul 2>&1 && set "HAS_SCOOP=1" - -if "%HAS_SCOOP%"=="0" ( - echo [WARN] Scoop is not installed. - echo [INFO] Installing Scoop... - powershell -NoProfile -Command "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force; Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression" - if errorlevel 1 ( - echo [ERR] Scoop installation failed. Install manually from https://scoop.sh 1>&2 - exit /b 1 - ) - rem Refresh PATH - set "PATH=%USERPROFILE%\scoop\shims;%PATH%" - echo [ OK ] Scoop installed -) else ( - echo [ OK ] Scoop is installed -) -echo. - -rem ── Check for vcpkg ───────────────────────────────────────────────────────── -set "HAS_VCPKG=0" -where vcpkg >nul 2>&1 && set "HAS_VCPKG=1" - -if "%HAS_VCPKG%"=="0" ( - echo [WARN] vcpkg is not installed. - echo [INFO] You can install vcpkg via: scoop install vcpkg - echo [INFO] Or clone from https://github.com/microsoft/vcpkg -) -echo. - -rem ── Dependency Checks ────────────────────────────────────────────────────── -echo [INFO] Checking dependencies... -echo. - -set "MISSING=" - -call :check_cmd npm npm -call :check_cmd Go go -call :check_cmd lefthook lefthook -call :check_cmd reuse reuse -call :check_cmd CMake cmake -call :check_cmd Git git - -echo. - -rem ── Install Missing Dependencies via Scoop ───────────────────────────────── -if not defined MISSING ( - echo [ OK ] All command-line dependencies are already installed! - goto :vcpkg_libs -) - -echo [INFO] Missing dependencies: %MISSING% -echo [INFO] Installing via Scoop... -echo. - -rem Add extras bucket for some packages -scoop bucket add extras >nul 2>&1 -scoop bucket add main >nul 2>&1 - -echo !MISSING! | findstr /i "npm" >nul && ( - echo [INFO] Installing Node.js ^(includes npm^)... - scoop install nodejs -) - -echo !MISSING! | findstr /i "Go" >nul && ( - echo [INFO] Installing Go... - scoop install go -) - -echo !MISSING! | findstr /i "CMake" >nul && ( - echo [INFO] Installing CMake... - scoop install cmake -) - -echo !MISSING! | findstr /i "reuse" >nul && ( - echo [INFO] Installing reuse via pip... - where pip >nul 2>&1 || scoop install python - pip install reuse -) - -echo !MISSING! | findstr /i "lefthook" >nul && ( - echo [INFO] Installing lefthook... - where go >nul 2>&1 && ( - go install github.com/evilmartians/lefthook@latest - set "PATH=%GOPATH%\bin;%USERPROFILE%\go\bin;%PATH%" - ) || ( - scoop install lefthook - ) -) - -echo. -echo [ OK ] Package installation complete -echo. - -rem ── vcpkg Libraries ───────────────────────────────────────────────────────── -:vcpkg_libs -where vcpkg >nul 2>&1 -if errorlevel 1 ( - echo [WARN] vcpkg not found. Skipping C/C++ library installation. - echo [WARN] You will need to manually install: qt6, quazip, zlib, extra-cmake-modules - goto :setup_lefthook -) - -echo [INFO] Installing C/C++ libraries via vcpkg... - -set "VCPKG_TRIPLET=x64-windows" - -vcpkg install qt5-base:%VCPKG_TRIPLET% >nul 2>&1 || ( - echo [INFO] Installing Qt6... - vcpkg install qtbase:%VCPKG_TRIPLET% -) - -echo [INFO] Installing quazip... -vcpkg install quazip:%VCPKG_TRIPLET% - -echo [INFO] Installing zlib... -vcpkg install zlib:%VCPKG_TRIPLET% - -echo [INFO] Installing extra-cmake-modules... -vcpkg install ecm:%VCPKG_TRIPLET% - -echo. -echo [ OK ] vcpkg libraries installed -echo. - -rem ── Lefthook Setup ───────────────────────────────────────────────────────── -:setup_lefthook -where lefthook >nul 2>&1 -if errorlevel 1 ( - echo [ERR] lefthook is not available. Cannot set up git hooks. 1>&2 - exit /b 1 -) - -echo [INFO] Setting up lefthook... -lefthook install -if errorlevel 1 ( - echo [ERR] lefthook install failed. 1>&2 - exit /b 1 -) -echo [ OK ] Lefthook hooks installed into .git\hooks -echo. - -echo --------------------------------------------- -echo [ OK ] Bootstrap successful! You're all set. -echo. - -endlocal -exit /b 0 - -rem ── Helper Functions ──────────────────────────────────────────────────────── -:check_cmd -set "NAME=%~1" -set "CMD=%~2" -where %CMD% >nul 2>&1 -if errorlevel 1 ( - echo [WARN] %NAME% is NOT installed - set "MISSING=!MISSING! %NAME%" -) else ( - for /f "delims=" %%i in ('where %CMD%') do ( - echo [ OK ] %NAME% is installed ^(%%i^) - goto :eof - ) -) -goto :eof diff --git a/meshmc/bootstrap.sh b/meshmc/bootstrap.sh deleted file mode 100755 index 3762deaa2e..0000000000 --- a/meshmc/bootstrap.sh +++ /dev/null @@ -1,285 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: GPL-3.0-or-later -# SPDX-FileCopyrightText: 2026 Project Tick -# -# MeshMC Bootstrap Script -# Detects distro, installs dependencies, and sets up lefthook. - -set -euo pipefail - -RED='\033[0;31m' -GREEN='\033[0;32m' -YELLOW='\033[1;33m' -CYAN='\033[0;36m' -NC='\033[0m' - -info() { printf "${CYAN}[INFO]${NC} %s\n" "$*"; } -ok() { printf "${GREEN}[ OK ]${NC} %s\n" "$*"; } -warn() { printf "${YELLOW}[WARN]${NC} %s\n" "$*"; } -err() { printf "${RED}[ERR]${NC} %s\n" "$*" >&2; } - -detect_distro() { - case "$(uname -s)" in - Darwin) - DISTRO="macos" - DISTRO_ID="macos" - ok "Detected platform: macOS" - return - ;; - Linux) ;; - *) - err "Unsupported OS: $(uname -s)" - exit 1 - ;; - esac - - if [ -f /etc/os-release ]; then - . /etc/os-release - DISTRO_ID="${ID:-unknown}" - DISTRO_ID_LIKE="${ID_LIKE:-}" - else - err "Cannot detect distribution (/etc/os-release not found)." - exit 1 - fi - - case "$DISTRO_ID" in - debian) DISTRO="debian" ;; - ubuntu|linuxmint|pop) DISTRO="ubuntu" ;; - fedora) DISTRO="fedora" ;; - rhel|centos|rocky|alma) DISTRO="rhel" ;; - opensuse*|sles) DISTRO="suse" ;; - arch|manjaro|endeavouros) DISTRO="arch" ;; - *) - # Fallback: check ID_LIKE - case "$DISTRO_ID_LIKE" in - *debian*|*ubuntu*) DISTRO="ubuntu" ;; - *fedora*|*rhel*) DISTRO="fedora" ;; - *suse*) DISTRO="suse" ;; - *arch*) DISTRO="arch" ;; - *) - err "Unsupported distribution: $DISTRO_ID" - err "Supported: Debian, Ubuntu, Fedora, RHEL, SUSE, Arch, macOS" - exit 1 - ;; - esac - ;; - esac - - ok "Detected distribution: $DISTRO (${DISTRO_ID})" -} - -MISSING_DEPS=() - -check_cmd() { - local name="$1" - local cmd="$2" - if command -v "$cmd" &>/dev/null; then - ok "$name is installed ($(command -v "$cmd"))" - else - warn "$name is NOT installed" - MISSING_DEPS+=("$name") - fi -} - -check_lib() { - local name="$1" - local pkg_name="$2" - if pkg-config --exists "$pkg_name" 2>/dev/null; then - ok "$name found via pkg-config" - else - warn "$name is NOT found" - MISSING_DEPS+=("$name") - fi -} - -check_dependencies() { - info "Checking dependencies..." - echo - - check_cmd "npm" "npm" - check_cmd "Go" "go" - check_cmd "lefthook" "lefthook" - check_cmd "reuse" "reuse" - check_lib "Qt6" "Qt6Core" - check_lib "QuaZip" "quazip1-qt6" - check_lib "zlib" "zlib" - check_lib "ECM" "ECM" - echo -} - -install_debian_ubuntu() { - info "Installing packages via apt..." - sudo apt-get update -qq - sudo apt-get install -y \ - npm \ - golang \ - qt6-base-dev \ - libquazip1-qt6-dev \ - zlib1g-dev \ - extra-cmake-modules \ - pkg-config \ - reuse -} - -install_fedora() { - info "Installing packages via dnf..." - sudo dnf install -y \ - npm \ - golang \ - qt6-qtbase-devel \ - quazip-qt6-devel \ - zlib-devel \ - extra-cmake-modules \ - pkgconf \ - reuse -} - -install_rhel() { - info "Installing packages via dnf..." - sudo dnf install -y epel-release || true - sudo dnf install -y \ - npm \ - golang \ - qt6-qtbase-devel \ - quazip-qt6-devel \ - zlib-devel \ - extra-cmake-modules \ - pkgconf \ - reuse -} - -install_suse() { - info "Installing packages via zypper..." - sudo zypper install -y \ - npm \ - go \ - qt6-base-devel \ - quazip-qt6-devel \ - zlib-devel \ - extra-cmake-modules \ - pkg-config \ - python3-reuse -} - -install_arch() { - info "Installing packages via pacman..." - sudo pacman -Sy --needed --noconfirm \ - npm \ - go \ - qt6-base \ - quazip-qt6 \ - zlib \ - extra-cmake-modules \ - pkgconf \ - reuse -} - -install_macos() { - if ! command -v brew &>/dev/null; then - err "Homebrew is not installed. Install it from https://brew.sh" - exit 1 - fi - - info "Installing packages via Homebrew..." - brew install \ - node \ - go \ - qt@6 \ - quazip \ - zlib \ - extra-cmake-modules \ - reuse \ - lefthook -} - -install_lefthook() { - if command -v lefthook &>/dev/null; then - return - fi - - info "Installing lefthook via Go..." - go install github.com/evilmartians/lefthook@latest - - export PATH="${GOPATH:-$HOME/go}/bin:$PATH" - - if ! command -v lefthook &>/dev/null; then - err "lefthook installation failed. Please install it manually." - exit 1 - fi - ok "lefthook installed successfully" -} - -install_missing() { - if [ ${#MISSING_DEPS[@]} -eq 0 ]; then - ok "All dependencies are already installed!" - return - fi - - info "Missing dependencies: ${MISSING_DEPS[*]}" - echo - - case "$DISTRO" in - debian|ubuntu) install_debian_ubuntu ;; - fedora) install_fedora ;; - rhel) install_rhel ;; - suse) install_suse ;; - arch) install_arch ;; - macos) install_macos ;; - esac - - install_lefthook - - echo - ok "Package installation complete" -} - -setup_lefthook() { - if [ ! -d ".git" ]; then - err "Not a git repository. Please run this script from the project root." - exit 1 - fi - - info "Setting up lefthook..." - lefthook install - ok "Lefthook hooks installed into .git/hooks" -} - -init_submodules() { - if [ ! -d ".git" ]; then - err "Not a git repository. Please run this script from the project root." - exit 1 - fi - - info "Setting up submodules..." - git submodule update --init --recursive - ok "Submodules initialized" -} - -main() { - echo - info "MeshMC Bootstrap" - echo "─────────────────────────────────────────────" - echo - - init_submodules - echo - - detect_distro - echo - - check_dependencies - - install_missing - echo - - setup_lefthook - echo - - echo "─────────────────────────────────────────────" - ok "Bootstrap successful! You're all set." - echo -} - -cd "$(dirname "$(readlink -f "$0")")" - -main "$@" diff --git a/meshmc/lefthook.yml b/meshmc/lefthook.yml deleted file mode 100644 index f92640489b..0000000000 --- a/meshmc/lefthook.yml +++ /dev/null @@ -1,37 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-or-later -# SPDX-FileCopyrightText: 2026 Project Tick -# -# MeshMC Lefthook Configuration -# https://lefthook.dev/configuration/ - -pre-commit: - jobs: - - name: reuse-lint - run: | - if ! reuse lint; then - echo "Downloading missing licenses..." - reuse download --all - git add LICENSES/ - echo "Missing licenses downloaded and staged." - # Re-check after fix - reuse lint - fi - - - name: checkpatch - run: | - git diff --cached -- '*.cpp' '*.h' '*.hpp' 'CMakeLists.txt' '*.cmake' | perl scripts/checkpatch.pl --diff --summary - skip: - - merge - - rebase - -pre-push: - jobs: - - name: reuse-lint - run: | - if ! reuse lint; then - echo "Downloading missing licenses..." - reuse download --all - git add LICENSES/ - echo "Missing licenses downloaded and staged." - reuse lint - fi |
