From 62e95745ac02e8f849f9f99dce08280e96c55bed Mon Sep 17 00:00:00 2001 From: Alexander Harkness Date: Tue, 15 Jun 2021 09:00:02 +0000 Subject: [PATCH] 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> --- .circleci/config.yml | 41 ----------------------------------------- Jenkinsfile | 35 +++++++++++++++++++++++++++++++++++ README.md | 4 ++-- clang-tidy.sh | 2 +- src/Item.cpp | 2 +- src/Mobs/Monster.cpp | 2 +- src/Mobs/Ocelot.cpp | 2 +- src/UI/AnvilWindow.cpp | 2 +- 8 files changed, 42 insertions(+), 48 deletions(-) delete mode 100644 .circleci/config.yml create mode 100644 Jenkinsfile diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 11be687a4..000000000 --- a/.circleci/config.yml +++ /dev/null @@ -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 diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 000000000..a4abbd076 --- /dev/null +++ b/Jenkinsfile @@ -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."' + } + } + } +} diff --git a/README.md b/README.md index d5ee5b849..fd5874950 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/clang-tidy.sh b/clang-tidy.sh index 8527ae02d..ec9a226a6 100755 --- a/clang-tidy.sh +++ b/clang-tidy.sh @@ -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 diff --git a/src/Item.cpp b/src/Item.cpp index a6a464450..ba2a8db90 100644 --- a/src/Item.cpp +++ b/src/Item.cpp @@ -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() diff --git a/src/Mobs/Monster.cpp b/src/Mobs/Monster.cpp index ae186d2bb..447e66261 100644 --- a/src/Mobs/Monster.cpp +++ b/src/Mobs/Monster.cpp @@ -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) diff --git a/src/Mobs/Ocelot.cpp b/src/Mobs/Ocelot.cpp index 4b731154d..e095e827a 100644 --- a/src/Mobs/Ocelot.cpp +++ b/src/Mobs/Ocelot.cpp @@ -26,7 +26,7 @@ cOcelot::cOcelot(void) : m_IsTame(false), m_IsBegging(false), m_CatType(ctWildOcelot), - m_OwnerName("") + m_OwnerName() { } diff --git a/src/UI/AnvilWindow.cpp b/src/UI/AnvilWindow.cpp index 66499cbc9..6466575e0 100644 --- a/src/UI/AnvilWindow.cpp +++ b/src/UI/AnvilWindow.cpp @@ -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);