1
0

Migrate off CircleCI to Jenkins (#5230)

* Add Jenkinsfile

* cd src

* Escape wildcards

* Refactor stages

* Remove CircleCI junk

* Make clang-tidy do something

* updated regex to include only the files in the base src directory

* fixed errors displayed by new clang tidy version

* adjust clang core count to actual count

* Update README with new Jenkins build

Co-authored-by: 12xx12 <44411062+12xx12@users.noreply.github.com>
This commit is contained in:
Alexander Harkness 2021-06-15 09:00:02 +00:00 committed by GitHub
parent db68179776
commit 62e95745ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 42 additions and 48 deletions

View File

@ -1,41 +0,0 @@
version: 2
jobs:
checkout_cuberite:
working_directory: ~/cuberite
docker: &cube_docker
- image: cuberite/docker-build-image:circle-ci
steps:
- checkout
- run: git submodule update --init
- persist_to_workspace:
root: ~/
paths:
- cuberite
check_basic_style:
working_directory: ~/cuberite/src
docker: *cube_docker
steps:
- attach_workspace: { at: ~/ }
- run: find . -name \*.cpp -or -name \*.h > AllFiles.lst
- run: lua CheckBasicStyle.lua
- run: cd Bindings && lua CheckBindingsDependencies.lua
clang-tidy:
working_directory: ~/cuberite
docker: *cube_docker
steps:
- attach_workspace: { at: ~/ }
- run: ./clang-tidy.sh -j 2
workflows:
version: 2
checks:
jobs:
- checkout_cuberite
- check_basic_style:
requires:
- checkout_cuberite
- clang-tidy:
requires:
- checkout_cuberite

35
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,35 @@
pipeline {
agent {
docker 'cuberite/docker-ci/minimal:latest'
}
stages {
stage("Prepare") {
steps {
sh 'git submodule update --init'
}
}
stage("Check") {
parallel {
stage("CheckBasicStyle") {
steps {
dir("src") {
sh 'find . -name \\*.cpp -or -name \\*.h > AllFiles.lst'
sh 'lua CheckBasicStyle.lua'
sh 'cd Bindings && lua CheckBindingsDependencies.lua'
}
}
}
stage("clang-tidy") {
steps {
sh './clang-tidy.sh -j 3'
}
}
}
}
stage("Build") {
steps {
sh 'echo "TODO: Replace Travis here."'
}
}
}
}

View File

@ -1,7 +1,7 @@
# Cuberite
[![Build Status](https://img.shields.io/travis/cuberite/cuberite/master.svg?label=Travis)](https://travis-ci.org/cuberite/cuberite)
[![Circle CI Build Status](https://img.shields.io/circleci/project/github/cuberite/cuberite/master.svg?label=Circle)](https://circleci.com/gh/cuberite/cuberite)
[![Travis Build Status](https://img.shields.io/travis/cuberite/cuberite/master.svg?label=Travis)](https://travis-ci.org/cuberite/cuberite)
[![Jenkins Build Status](https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fbuilds.cuberite.org%2Fjob%2Fcuberite%2Fjob%2Fmaster&label=Jenkins)](https://builds.cuberite.org/job/cuberite/job/master/)
[![AppVeyor Build Status](https://img.shields.io/appveyor/ci/cuberite/cuberite/master.svg?label=AppVeyor)](https://ci.appveyor.com/project/cuberite/cuberite)
Cuberite is a Minecraft-compatible multiplayer game server that is written in C++ and designed to be efficient with memory and CPU, as well as having a flexible Lua Plugin API. Cuberite is compatible with the Java Edition Minecraft client.

View File

@ -3,7 +3,7 @@
set -e
FIXES_FILE="tidy-fixes.yaml"
REGEX="/cuberite/src/\.?[^\.]"
REGEX="cuberite_[^/\.]+/src/\.?[^\.]"
ARGS="-header-filter $REGEX -quiet -export-fixes $FIXES_FILE "$@" $REGEX"
# Generate the compilation database

View File

@ -17,7 +17,7 @@ cItem::cItem():
m_ItemType(E_ITEM_EMPTY),
m_ItemCount(0),
m_ItemDamage(0),
m_CustomName(""),
m_CustomName(),
m_RepairCost(0),
m_FireworkItem(),
m_ItemColor()

View File

@ -90,7 +90,7 @@ cMonster::cMonster(const AString & a_ConfigName, eMonsterType a_MobType, const A
, m_IdleInterval(0)
, m_DestroyTimer(0)
, m_MobType(a_MobType)
, m_CustomName("")
, m_CustomName()
, m_CustomNameAlwaysVisible(false)
, m_SoundHurt(a_SoundHurt)
, m_SoundDeath(a_SoundDeath)

View File

@ -26,7 +26,7 @@ cOcelot::cOcelot(void) :
m_IsTame(false),
m_IsBegging(false),
m_CatType(ctWildOcelot),
m_OwnerName("")
m_OwnerName()
{
}

View File

@ -12,7 +12,7 @@
cAnvilWindow::cAnvilWindow(Vector3i a_BlockPos) :
cWindow(wtAnvil, "Repair"),
m_RepairedItemName(""),
m_RepairedItemName(),
m_BlockPos(a_BlockPos)
{
m_AnvilSlotArea = new cSlotAreaAnvil(*this);