From 7e925003df8f41d19423428d4072bd0b210e8780 Mon Sep 17 00:00:00 2001 From: Whiron Date: Mon, 9 Nov 2026 15:38:08 +0100 Subject: [PATCH 1/5] build: manage third-party dependencies with vcpkg --- .github/dependabot.yml | 22 ++++++++++++++++++++++ .github/workflows/build.yml | 4 ++-- .gitignore | 1 + CMakeLists.txt | 5 +++++ vcpkg-configuration.json | 9 +++++++++ vcpkg.json | 23 +++++++++++++++++++++++ wire | 2 +- 7 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 vcpkg-configuration.json create mode 100644 vcpkg.json diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..8beaa71 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,22 @@ +version: 2 +updates: + - package-ecosystem: "vcpkg" + directory: "/" + schedule: + interval: "weekly" + commit-message: + prefix: "chore(deps)" + + - package-ecosystem: "gitsubmodule" + directory: "/" + schedule: + interval: "weekly" + commit-message: + prefix: "chore(submodules)" + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + commit-message: + prefix: "chore(ci)" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1e79574..24ac8f8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -100,7 +100,7 @@ jobs: VERSION: ${{ needs.plan.outputs.version }} run: | docker run --rm -e VERSION -e CCACHE_DIR=/src/build/musl-ccache -e CCACHE_MAXSIZE=1200M -v "$PWD:/src" -w /src alpine:3.22 sh -ec ' - apk add --no-cache ccache cmake ninja clang20 lld20 libc++-dev libc++-static llvm-libunwind-dev llvm-libunwind-static gcc g++ musl-dev linux-headers file binutils + apk add --no-cache ccache cmake ninja clang20 lld20 libc++-dev libc++-static llvm-libunwind-dev llvm-libunwind-static gcc g++ musl-dev linux-headers file binutils git curl zip unzip tar pkgconf ccache --zero-stats trap ".github/scripts/report-ccache.sh build/musl-ccache-summary.md" EXIT cmake --preset linux-musl -DCMAKE_C_COMPILER=clang-20 -DCMAKE_CXX_COMPILER=clang++-20 \ @@ -326,7 +326,7 @@ jobs: envs: VERSION CCACHE_DIR CCACHE_MAXSIZE cpu: 4 mem: 8192 - prepare: ${{ matrix.cross && 'pkg install -y cmake' || 'pkg install -y ccache cmake ninja' }} + prepare: ${{ matrix.cross && 'pkg install -y cmake git curl zip unzip' || 'pkg install -y ccache cmake ninja git curl zip unzip' }} run: | set -eu if [ "${{ matrix.cross }}" = false ]; then diff --git a/.gitignore b/.gitignore index 4a2e404..98fd357 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ # CMake /build/ +/vcpkg_installed/ .cache/ compile_commands.json diff --git a/CMakeLists.txt b/CMakeLists.txt index a7b2d61..70a8761 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,10 @@ cmake_minimum_required(VERSION 3.28) +if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/wire/CMakeLists.txt) + message(FATAL_ERROR "wire/ is empty. Run: git submodule update --init") +endif() +include(${CMAKE_CURRENT_SOURCE_DIR}/wire/cmake/BasaltVcpkg.cmake) + project(basalt-proxy VERSION 26.3.0 DESCRIPTION "Basalt Proxy: a Minecraft proxy written from scratch" diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json new file mode 100644 index 0000000..235f831 --- /dev/null +++ b/vcpkg-configuration.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json", + "overlay-ports": [ + "./wire/vcpkg-overlays/ports" + ], + "overlay-triplets": [ + "./wire/vcpkg-overlays/triplets" + ] +} diff --git a/vcpkg.json b/vcpkg.json new file mode 100644 index 0000000..8cdb727 --- /dev/null +++ b/vcpkg.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "basalt-proxy", + "version-semver": "26.3.0", + "builtin-baseline": "ec48c11eae9448c8c6e7739d93e06fa2433aa95f", + "dependencies": [ + "c-ares", + "doctest", + "lua", + "mbedtls", + "monocypher", + "simdjson", + { + "name": "sqlite3", + "default-features": false, + "features": [ + "omit-load-extension" + ] + }, + "zlib", + "zstd" + ] +} diff --git a/wire b/wire index c34d83c..51d9cd8 160000 --- a/wire +++ b/wire @@ -1 +1 @@ -Subproject commit c34d83ccaa8be25f5438b77d2af4dc847470e1ee +Subproject commit 51d9cd8e53b96765fcf4d25a1cd1f872c0bf9844 From 636ae782b0cfd31560501b3fb9c4d721f2b15655 Mon Sep 17 00:00:00 2001 From: Whiron Date: Mon, 9 Nov 2026 16:40:30 +0100 Subject: [PATCH 2/5] build: update wire --- wire | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wire b/wire index 51d9cd8..1b1a6cd 160000 --- a/wire +++ b/wire @@ -1 +1 @@ -Subproject commit 51d9cd8e53b96765fcf4d25a1cd1f872c0bf9844 +Subproject commit 1b1a6cd5cd3def343b42732dcd87cbbc2c8685a3 From 01c511ea7d25ca5727491de87d9b79495330af81 Mon Sep 17 00:00:00 2001 From: Whiron Date: Mon, 9 Nov 2026 17:24:57 +0100 Subject: [PATCH 3/5] ci: install pkgconf in the freebsd vm --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 24ac8f8..9c5a198 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -326,7 +326,7 @@ jobs: envs: VERSION CCACHE_DIR CCACHE_MAXSIZE cpu: 4 mem: 8192 - prepare: ${{ matrix.cross && 'pkg install -y cmake git curl zip unzip' || 'pkg install -y ccache cmake ninja git curl zip unzip' }} + prepare: ${{ matrix.cross && 'pkg install -y cmake git curl zip unzip' || 'pkg install -y ccache cmake ninja git curl zip unzip pkgconf' }} run: | set -eu if [ "${{ matrix.cross }}" = false ]; then From 5e43c1afa3296f7e8bc89cf9f7bbec081c1cf4eb Mon Sep 17 00:00:00 2001 From: Whiron Date: Mon, 9 Nov 2026 17:24:57 +0100 Subject: [PATCH 4/5] build: update wire --- wire | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wire b/wire index 1b1a6cd..ae18dd7 160000 --- a/wire +++ b/wire @@ -1 +1 @@ -Subproject commit 1b1a6cd5cd3def343b42732dcd87cbbc2c8685a3 +Subproject commit ae18dd73cc9188ed3b4d9a3fef2b2e3b3a33e795 From 55555d90f2636abb794da3c0e7b0f7db7b3d317b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Nov 2026 16:31:53 +0000 Subject: [PATCH 5/5] chore(ci): bump actions/upload-artifact from 4 to 7 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 7. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4...v7) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/build-native.yml | 2 +- .github/workflows/build.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-native.yml b/.github/workflows/build-native.yml index 1039cbb..69a96b3 100644 --- a/.github/workflows/build-native.yml +++ b/.github/workflows/build-native.yml @@ -84,7 +84,7 @@ jobs: done - name: Upload the binary - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: basalt-proxy-${{ inputs.target }} path: build/release/bin/ diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9c5a198..c972498 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -119,7 +119,7 @@ jobs: .github/scripts/smoke-binary.sh "$binary" done ' - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: basalt-proxy-${{ matrix.target }} path: build/linux-musl/bin/ @@ -234,7 +234,7 @@ jobs: api-level: 29 arch: x86_64 script: .github/scripts/test-android.sh build/android-x64 - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: basalt-proxy-${{ matrix.target }} path: build/${{ matrix.preset }}/bin/ @@ -347,7 +347,7 @@ jobs: ldd "$binary" .github/scripts/smoke-binary.sh "$binary" done - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: basalt-proxy-${{ matrix.target }} path: build/freebsd/bin/