forked from libgit2/libgit2
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
702 changed files
with
74,771 additions
and
27,065 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,92 @@ | ||
# This file is an example configuration for clang-format 5.0. | ||
# | ||
# Note that this style definition should only be understood as a hint | ||
# for writing new code. The rules are still work-in-progress and does | ||
# not yet exactly match the style we have in the existing code. | ||
|
||
# C Language specifics | ||
Language: Cpp | ||
|
||
# Use tabs whenever we need to fill whitespace that spans at least from one tab | ||
# stop to the next one. | ||
# | ||
# These settings are mirrored in .editorconfig. Keep them in sync. | ||
UseTab: ForIndentation | ||
TabWidth: 8 | ||
IndentWidth: 8 | ||
ContinuationIndentWidth: 8 | ||
ColumnLimit: 80 | ||
|
||
AlignAfterOpenBracket: AlwaysBreak | ||
AlignEscapedNewlines: Left | ||
AlignTrailingComments: false | ||
|
||
# Allow putting parameters onto the next line | ||
AllowAllArgumentsOnNextLine: false | ||
AllowAllParametersOfDeclarationOnNextLine: false | ||
|
||
# Don't allow short braced statements to be on a single line | ||
# if (a) not if (a) return; | ||
# return; | ||
AllowShortBlocksOnASingleLine: false | ||
AllowShortFunctionsOnASingleLine: None | ||
AllowShortLoopsOnASingleLine: false | ||
AllowShortLambdasOnASingleLine: None | ||
|
||
# Pack as many parameters or arguments onto the same line as possible | ||
# int myFunction(int aaaaaaaaaaaa, int bbbbbbbb, | ||
# int cccc); | ||
BinPackArguments: true | ||
BinPackParameters: false | ||
|
||
BreakBeforeBraces: Linux | ||
BreakBeforeBinaryOperators: None | ||
BreakBeforeTernaryOperators: false | ||
BreakStringLiterals: false | ||
|
||
# The number of spaces before trailing line comments (// - comments). | ||
# This does not affect trailing block comments (/* - comments). | ||
SpacesBeforeTrailingComments: 1 | ||
|
||
# Don't insert spaces in casts | ||
# x = (int32) y; not x = ( int32 ) y; | ||
SpacesInCStyleCastParentheses: false | ||
|
||
# Don't insert spaces inside container literals | ||
# var arr = [1, 2, 3]; not var arr = [ 1, 2, 3 ]; | ||
SpacesInContainerLiterals: false | ||
|
||
# Don't insert spaces after '(' or before ')' | ||
# f(arg); not f( arg ); | ||
SpacesInParentheses: false | ||
|
||
# Don't insert spaces after '[' or before ']' | ||
# int a[5]; not int a[ 5 ]; | ||
SpacesInSquareBrackets: false | ||
|
||
# Insert a space after '{' and before '}' in struct initializers | ||
Cpp11BracedListStyle: false | ||
|
||
# A list of macros that should be interpreted as foreach loops instead of as | ||
# function calls. | ||
ForEachMacros: | ||
- 'git_array_foreach' | ||
- 'git_vector_foreach' | ||
|
||
# The maximum number of consecutive empty lines to keep. | ||
MaxEmptyLinesToKeep: 1 | ||
|
||
# No empty line at the start of a block. | ||
KeepEmptyLinesAtTheStartOfBlocks: false | ||
|
||
# Penalties | ||
# This decides what order things should be done if a line is too long | ||
PenaltyBreakAssignment: 10 | ||
PenaltyBreakBeforeFirstCallParameter: 30 | ||
PenaltyBreakComment: 10 | ||
PenaltyBreakFirstLessLess: 0 | ||
PenaltyBreakString: 10 | ||
PenaltyExcessCharacter: 100 | ||
PenaltyReturnTypeOnItsOwnLine: 60 | ||
|
||
SortIncludes: 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"postCreateCommand": "bash .devcontainer/setup.sh" | ||
} |
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,9 @@ | ||
#!/bin/sh | ||
set -e | ||
|
||
sudo apt-get update | ||
sudo apt-get -y --no-install-recommends install cmake | ||
|
||
mkdir build | ||
cd build | ||
cmake .. |
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 |
---|---|---|
@@ -1 +1,4 @@ | ||
* text=auto | ||
ci/**/*.sh text eol=lf | ||
script/**/*.sh text eol=lf | ||
tests/resources/** linguist-vendored |
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,109 @@ | ||
# Run a build step in a container or directly on the Actions runner | ||
name: Download or Build Container | ||
description: Download a container from the package registry, or build it if it's not found | ||
|
||
inputs: | ||
container: | ||
description: Container name | ||
type: string | ||
required: true | ||
dockerfile: | ||
description: Dockerfile | ||
type: string | ||
base: | ||
description: Container base | ||
type: string | ||
registry: | ||
description: Docker registry to read and publish to | ||
type: string | ||
default: ghcr.io | ||
config-path: | ||
description: Path to Dockerfiles | ||
type: string | ||
github_token: | ||
description: GitHub Token | ||
type: string | ||
|
||
runs: | ||
using: 'composite' | ||
steps: | ||
- name: Download container | ||
run: | | ||
IMAGE_NAME="${{ inputs.container }}" | ||
DOCKERFILE_PATH="${{ inputs.dockerfile }}" | ||
DOCKER_REGISTRY="${{ inputs.registry }}" | ||
DOCKERFILE_ROOT="${{ inputs.config-path }}" | ||
if [ "${DOCKERFILE_PATH}" = "" ]; then | ||
DOCKERFILE_PATH="${DOCKERFILE_ROOT}/${IMAGE_NAME}" | ||
else | ||
DOCKERFILE_PATH="${DOCKERFILE_ROOT}/${DOCKERFILE_PATH}" | ||
fi | ||
GIT_WORKTREE=$(cd "${GITHUB_ACTION_PATH}" && git rev-parse --show-toplevel) | ||
echo "::: git worktree is ${GIT_WORKTREE}" | ||
cd "${GIT_WORKTREE}" | ||
DOCKER_CONTAINER="${GITHUB_REPOSITORY}/${IMAGE_NAME}" | ||
DOCKER_REGISTRY_CONTAINER="${DOCKER_REGISTRY}/${DOCKER_CONTAINER}" | ||
echo "dockerfile=${DOCKERFILE_PATH}" >> $GITHUB_ENV | ||
echo "docker-container=${DOCKER_CONTAINER}" >> $GITHUB_ENV | ||
echo "docker-registry-container=${DOCKER_REGISTRY_CONTAINER}" >> $GITHUB_ENV | ||
# Identify the last git commit that touched the Dockerfiles | ||
# Use this as a hash to identify the resulting docker containers | ||
echo "::: dockerfile path is ${DOCKERFILE_PATH}" | ||
DOCKER_SHA=$(git log -1 --pretty=format:"%h" -- "${DOCKERFILE_PATH}") | ||
echo "docker-sha=${DOCKER_SHA}" >> $GITHUB_ENV | ||
echo "::: docker sha is ${DOCKER_SHA}" | ||
DOCKER_REGISTRY_CONTAINER_SHA="${DOCKER_REGISTRY_CONTAINER}:${DOCKER_SHA}" | ||
echo "docker-registry-container-sha=${DOCKER_REGISTRY_CONTAINER_SHA}" >> $GITHUB_ENV | ||
echo "docker-registry-container-latest=${DOCKER_REGISTRY_CONTAINER}:latest" >> $GITHUB_ENV | ||
echo "::: logging in to ${DOCKER_REGISTRY} as ${GITHUB_ACTOR}" | ||
exists="true" | ||
docker login https://${DOCKER_REGISTRY} -u ${GITHUB_ACTOR} -p ${GITHUB_TOKEN} || exists="false" | ||
echo "::: pulling ${DOCKER_REGISTRY_CONTAINER_SHA}" | ||
if [ "${exists}" != "false" ]; then | ||
docker pull ${DOCKER_REGISTRY_CONTAINER_SHA} || exists="false" | ||
fi | ||
if [ "${exists}" = "true" ]; then | ||
echo "::: docker container exists in registry" | ||
echo "docker-container-exists=true" >> $GITHUB_ENV | ||
else | ||
echo "::: docker container does not exist in registry" | ||
echo "docker-container-exists=false" >> $GITHUB_ENV | ||
fi | ||
shell: bash | ||
env: | ||
GITHUB_TOKEN: ${{ inputs.github_token }} | ||
- name: Create container | ||
run: | | ||
if [ "${{ inputs.base }}" != "" ]; then | ||
BASE_ARG="--build-arg BASE=${{ inputs.base }}" | ||
fi | ||
GIT_WORKTREE=$(cd "${GITHUB_ACTION_PATH}" && git rev-parse --show-toplevel) | ||
echo "::: git worktree is ${GIT_WORKTREE}" | ||
cd "${GIT_WORKTREE}" | ||
docker build -t ${{ env.docker-registry-container-sha }} --build-arg UID=$(id -u) --build-arg GID=$(id -g) ${BASE_ARG} -f ${{ env.dockerfile }} . | ||
docker tag ${{ env.docker-registry-container-sha }} ${{ env.docker-registry-container-latest }} | ||
shell: bash | ||
working-directory: source/${{ inputs.config-path }} | ||
if: env.docker-container-exists != 'true' | ||
- name: Publish container | ||
run: | | ||
docker push ${{ env.docker-registry-container-sha }} | ||
docker push ${{ env.docker-registry-container-latest }} | ||
shell: bash | ||
if: env.docker-container-exists != 'true' && github.event_name != 'pull_request' |
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,51 @@ | ||
# Run a build step in a container or directly on the Actions runner | ||
name: Run Build Step | ||
description: Run a build step in a container or directly on the Actions runner | ||
|
||
inputs: | ||
command: | ||
description: Command to run | ||
type: string | ||
required: true | ||
container: | ||
description: Optional container to run in | ||
type: string | ||
container-version: | ||
description: Version of the container to run | ||
type: string | ||
shell: | ||
description: Shell to use | ||
type: string | ||
required: true | ||
default: 'bash' | ||
|
||
runs: | ||
using: 'composite' | ||
steps: | ||
- run: | | ||
if [ -n "${{ inputs.container }}" ]; then | ||
docker run \ | ||
--rm \ | ||
--user "$(id -u):$(id -g)" \ | ||
-v "$(pwd)/source:/home/libgit2/source" \ | ||
-v "$(pwd)/build:/home/libgit2/build" \ | ||
-w /home/libgit2 \ | ||
-e ASAN_SYMBOLIZER_PATH \ | ||
-e CC \ | ||
-e CFLAGS \ | ||
-e CMAKE_GENERATOR \ | ||
-e CMAKE_OPTIONS \ | ||
-e GITTEST_NEGOTIATE_PASSWORD \ | ||
-e GITTEST_FLAKY_STAT \ | ||
-e PKG_CONFIG_PATH \ | ||
-e SKIP_NEGOTIATE_TESTS \ | ||
-e SKIP_SSH_TESTS \ | ||
-e SKIP_PUSHOPTIONS_TESTS \ | ||
-e TSAN_OPTIONS \ | ||
-e UBSAN_OPTIONS \ | ||
${{ inputs.container-version }} \ | ||
/bin/bash -c "${{ inputs.command }}" | ||
else | ||
${{ inputs.command }} | ||
fi | ||
shell: ${{ inputs.shell != '' && inputs.shell || 'bash' }} |
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 @@ | ||
changelog: | ||
categories: | ||
- title: New features | ||
labels: | ||
- feature | ||
- title: Performance improvements | ||
labels: | ||
- performance | ||
- title: Bug fixes | ||
labels: | ||
- bug | ||
- title: Security fixes | ||
labels: | ||
- security | ||
- title: Code cleanups | ||
labels: | ||
- cleanup | ||
- title: Build and CI improvements | ||
labels: | ||
- build | ||
- title: Documentation improvements | ||
labels: | ||
- documentation | ||
- title: Platform compatibility fixes | ||
labels: | ||
- compatibility | ||
- title: Git compatibility fixes | ||
labels: | ||
- git compatibility | ||
- title: Dependency updates | ||
labels: | ||
- dependency | ||
- title: Other changes | ||
labels: | ||
- '*' |
Oops, something went wrong.