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-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 1e79574..c972498 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 \ @@ -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/ @@ -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 pkgconf' }} run: | set -eu if [ "${{ matrix.cross }}" = false ]; then @@ -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/ 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..ae18dd7 160000 --- a/wire +++ b/wire @@ -1 +1 @@ -Subproject commit c34d83ccaa8be25f5438b77d2af4dc847470e1ee +Subproject commit ae18dd73cc9188ed3b4d9a3fef2b2e3b3a33e795