-
Notifications
You must be signed in to change notification settings - Fork 179
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
On the 'pristine-checksum-kind' branch: Sync with trunk@1922344.
git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pristine-checksum-kind@1922345 13f79535-47bb-0310-9956-ffa450edef68
- Loading branch information
Showing
269 changed files
with
27,872 additions
and
35,668 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# | ||
# Licensed to the Apache Software Foundation (ASF) under one | ||
# or more contributor license agreements. See the NOTICE file | ||
# distributed with this work for additional information | ||
# regarding copyright ownership. The ASF licenses this file | ||
# to you under the Apache License, Version 2.0 (the | ||
# "License"); you may not use this file except in compliance | ||
# with the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, | ||
# software distributed under the License is distributed on an | ||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
# KIND, either express or implied. See the License for the | ||
# specific language governing permissions and limitations | ||
# under the License. | ||
# | ||
# .asf.yml -- ASF infra services configuration | ||
# | ||
|
||
# GitHub Action notifications, see | ||
# https://github.com/apache/infrastructure-asfyaml?tab=readme-ov-file | ||
# | ||
# However, according to discussion with Humbedooh on Slack the-asf#Infra, | ||
# it require a r/w Git repository, so the below doesn't work. | ||
# | ||
# Humbedooh has kindly helped us hard-code a one-off notification which | ||
# doesn't rely on .asf.yaml. | ||
# | ||
# Commenting out, but keeping in place as a sticky-note for future changes. | ||
# | ||
# For reference, this is the hard-coded configuration: | ||
#notifications: | ||
# jobs: [email protected] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# .clang-format : clang format rules | ||
# | ||
# This file configures clang format rules. This file should be automatically | ||
# read by Visual Studio and other IDEs, when the project gets opened. | ||
# | ||
# See clang docs for more info: | ||
# https://clang.llvm.org/docs/ClangFormatStyleOptions.html | ||
# | ||
###################################################################### | ||
# Licensed to the Apache Software Foundation (ASF) under one | ||
# or more contributor license agreements. See the NOTICE file | ||
# distributed with this work for additional information | ||
# regarding copyright ownership. The ASF licenses this file | ||
# to you under the Apache License, Version 2.0 (the | ||
# "License"); you may not use this file except in compliance | ||
# with the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, | ||
# software distributed under the License is distributed on an | ||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
# KIND, either express or implied. See the License for the | ||
# specific language governing permissions and limitations | ||
# under the License. | ||
###################################################################### | ||
|
||
# From the community guidelines: | ||
# | ||
# > Subversion uses ANSI C, and follows the GNU coding standards... | ||
BasedOnStyle: GNU | ||
|
||
# It seems to be simpler to follow our code-style when tab inserts only | ||
# two spaces | ||
IndentWidth: 2 | ||
|
||
# Limit the size of the lines. | ||
ColumnLimit: 79 | ||
|
||
SpaceBeforeParens: ControlStatements | ||
|
||
AllowAllArgumentsOnNextLine: true | ||
AllowAllParametersOfDeclarationOnNextLine: true | ||
|
||
BinPackArguments: true | ||
BinPackParameters: true | ||
|
||
PointerAlignment: Right | ||
AlignAfterOpenBracket: Align | ||
BreakBeforeBinaryOperators: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
# | ||
# Licensed to the Apache Software Foundation (ASF) under one | ||
# or more contributor license agreements. See the NOTICE file | ||
# distributed with this work for additional information | ||
# regarding copyright ownership. The ASF licenses this file | ||
# to you under the Apache License, Version 2.0 (the | ||
# "License"); you may not use this file except in compliance | ||
# with the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, | ||
# software distributed under the License is distributed on an | ||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
# KIND, either express or implied. See the License for the | ||
# specific language governing permissions and limitations | ||
# under the License. | ||
# | ||
# autoconf.yml -- Configuration for autoconf GitHub Action workflow. | ||
# | ||
|
||
name: autoconf | ||
|
||
on: | ||
push: | ||
branches: ["*"] | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: false | ||
|
||
jobs: | ||
build: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- name: Default | ||
os: ubuntu-latest | ||
|
||
runs-on: ${{ matrix.os }} | ||
name: ${{ matrix.name }} | ||
|
||
steps: | ||
- name: Install dependencies (Linux, apt-get) | ||
if: runner.os == 'Linux' | ||
run: > | ||
sudo apt-get update && | ||
sudo apt-get install | ||
libtool | ||
libtool-bin | ||
libapr1-dev | ||
libaprutil1-dev | ||
libserf-dev | ||
libexpat1-dev | ||
zlib1g-dev | ||
libsqlite3-dev | ||
liblz4-dev | ||
libutf8proc-dev | ||
- name: Use LF for Git checkout | ||
run: | | ||
git config --global core.autocrlf false | ||
git config --global core.eol lf | ||
- uses: actions/checkout@v4 | ||
|
||
- name: autogen | ||
run: ./autogen.sh | ||
|
||
- name: Configure | ||
run: ./configure --enable-maintainer-mode | ||
|
||
- name: Build (make) | ||
run: make -j | ||
|
||
- name: Run tests (make check) | ||
run: make check PARALLEL=16 | ||
|
||
- name: Install (make install) | ||
run: sudo make install |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,175 @@ | ||
# | ||
# Licensed to the Apache Software Foundation (ASF) under one | ||
# or more contributor license agreements. See the NOTICE file | ||
# distributed with this work for additional information | ||
# regarding copyright ownership. The ASF licenses this file | ||
# to you under the Apache License, Version 2.0 (the | ||
# "License"); you may not use this file except in compliance | ||
# with the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, | ||
# software distributed under the License is distributed on an | ||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
# KIND, either express or implied. See the License for the | ||
# specific language governing permissions and limitations | ||
# under the License. | ||
# | ||
# cmake.yml -- Configuration for CMake GitHub Action workflow. | ||
# | ||
|
||
name: CMake | ||
|
||
on: | ||
push: | ||
branches: ["*"] | ||
|
||
concurrency: | ||
group: ${{ github.ref }} | ||
cancel-in-progress: false | ||
|
||
defaults: | ||
run: | ||
shell: pwsh | ||
|
||
jobs: | ||
build: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- name: Windows, shared, x64, with tests | ||
os: windows-latest | ||
build_shared: ON | ||
cmake_generator: Ninja | ||
vcpkg_triplet: x64-windows | ||
arch: x64 | ||
run_tests: true | ||
- name: Windows, shared, x64, vs2022, with tests | ||
os: windows-latest | ||
build_shared: ON | ||
cmake_generator: 'Visual Studio 17 2022' | ||
vcpkg_triplet: x64-windows | ||
arch: x64 | ||
run_tests: true | ||
- name: Windows, shared, x86 | ||
os: windows-latest | ||
build_shared: ON | ||
cmake_generator: Ninja | ||
vcpkg_triplet: x86-windows | ||
arch: x86 | ||
- name: Windows, static, x64, with tests | ||
os: windows-latest | ||
build_shared: OFF | ||
cmake_generator: Ninja | ||
vcpkg_triplet: x64-windows-static-md | ||
arch: x64 | ||
run_tests: true | ||
- name: Linux, shared, with tests | ||
os: ubuntu-latest | ||
cmake_generator: Ninja | ||
build_shared: ON | ||
run_tests: true | ||
extra_config_opts: > | ||
-DSVN_ENABLE_AUTH_KWALLET=ON | ||
-DSVN_ENABLE_AUTH_GNOME_KEYRING=ON | ||
extra_packages: > | ||
libkf5wallet-dev | ||
libkf5coreaddons-dev | ||
libkf5i18n-dev | ||
libdbus-1-dev | ||
qtbase5-dev | ||
libsecret-1-dev | ||
runs-on: ${{ matrix.os }} | ||
name: ${{ matrix.name }} | ||
|
||
env: | ||
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" | ||
CMAKE_GENERATOR: ${{ matrix.cmake_generator }} | ||
|
||
steps: | ||
- name: Prepare Environment (Windows) | ||
if: runner.os == 'Windows' | ||
run: | | ||
$root = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" | ||
Import-Module "$root\Common7\Tools\Microsoft.VisualStudio.DevShell.dll" | ||
Enter-VsDevShell -VsInstallPath $root -DevCmdArguments "-arch=${{ matrix.arch }}" | ||
ls env: | foreach { "$($_.Name)=$($_.Value)" >> $env:GITHUB_ENV } | ||
- name: Prepare Environment (Linux) | ||
if: runner.os == 'Windows' | ||
run: | | ||
# nothing yet | ||
- name: Export GitHub Actions cache environment variables | ||
if: runner.os == 'Windows' | ||
uses: actions/github-script@v7 | ||
with: | ||
script: | | ||
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); | ||
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); | ||
- name: Install dependencies (Windows, vcpkg) | ||
if: runner.os == 'Windows' | ||
run: | | ||
C:\vcpkg\vcpkg.exe install --triplet ${{ matrix.vcpkg_triplet }} ` | ||
apr apr-util serf expat zlib sqlite3 | ||
"CMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" >> $env:GITHUB_ENV | ||
- name: Install dependencies (Linux, apt-get) | ||
if: runner.os == 'Linux' | ||
run: > | ||
sudo apt-get update && | ||
sudo apt-get install | ||
libtool | ||
libtool-bin | ||
libapr1-dev | ||
libaprutil1-dev | ||
libserf-dev | ||
libexpat1-dev | ||
zlib1g-dev | ||
libsqlite3-dev | ||
ninja-build | ||
${{ matrix.extra_packages }} | ||
- name: Use LF for Git checkout | ||
run: | | ||
git config --global core.autocrlf false | ||
git config --global core.eol lf | ||
- uses: actions/checkout@v4 | ||
|
||
- name: gen-make | ||
run: python ./gen-make.py -t cmake | ||
|
||
- name: Configure CMake | ||
run: > | ||
cmake -B out | ||
-DBUILD_SHARED_LIBS=${{ matrix.build_shared }} | ||
-DSVN_ENABLE_TESTS=ON | ||
-DSVN_ENABLE_RA_SERF=ON | ||
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/installdir | ||
-DVCPKG_TARGET_TRIPLET=${{ matrix.vcpkg_triplet }} | ||
-DSVN_TEST_CONFIGURE_FOR_PARALLEL=ON | ||
${{ matrix.extra_config_opts }} | ||
- name: Build CMake | ||
run: cmake --build out --config Release | ||
|
||
- name: Install | ||
run: cmake --install out --config Release | ||
|
||
- name: Run all tests | ||
id: run_all_tests | ||
if: matrix.run_tests | ||
working-directory: out | ||
run: ctest --output-on-failure --verbose -C Release --parallel 16 | ||
|
||
- name: Rerun failed tests | ||
if: ${{ matrix.run_tests && failure() && steps.run_all_tests.conclusion == 'failure' }} | ||
working-directory: out | ||
run: ctest --output-on-failure --verbose -C Release --rerun-failed |
Oops, something went wrong.