1 Star 0 Fork 0

墨客实验室/ctags

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
circle.yml 12.60 KB
一键复制 编辑 原始数据 按行查看 历史
Masatake YAMATO 提交于 2023-12-13 22:42 . circleci: use fedora39
version: 2
jobs:
#
# This is for the latest RELEASED Fedora.
# Update the version of Fedora when new version is released.
# We don't use rawhide, the development version of Fedora
# till the list of TODO items of u-ctags becomes nil.
#
# We assume GNU Make is available.
#
fedora39_gmake:
working_directory: ~/universal-ctags
docker:
- image: docker.io/fedora:39
steps:
- run:
name: Install Git, Gdb and Procps-NG
command: |
yum -y install git gdb procps-ng
- checkout
- run:
name: Install tools for building ctags and validating test input files
command: |
dnf -y install gcc automake autoconf pkgconfig make libseccomp-devel libxml2-devel jansson-devel libyaml-devel pcre2-devel findutils diffutils sudo
dnf -y install jq puppet python3-sphinx
# These are for input-validation.
dnf -y install g++ jq puppet nodejs
- run:
name: Build
command: |
bash ./autogen.sh
./configure --enable-debugging
make -j 2
- run:
name: Test
command: |
make check validate-input
- run:
name: Make HTML documents
command: |
cd docs
make html
fedora39_gmake_roundtrip:
working_directory: ~/universal-ctags
docker:
- image: docker.io/fedora:39
steps:
- run:
name: Install Git and Gdb
command: |
yum -y install git gdb
- checkout
- run:
name: Install build tools
command: |
dnf -y install gcc automake autoconf pkgconfig make libseccomp-devel libxml2-devel jansson-devel libyaml-devel pcre2-devel findutils diffutils sudo
dnf -y install jq puppet
- run:
name: Build
command: |
bash ./autogen.sh
./configure --enable-debugging
make -j 2
- run:
name: Test
command: |
make roundtrip
#
# We assume GNU make as the `make` command as we use GNU make extension
# aggressively in man/Makefile and win32/Makefile.
#
# man/Makefile is used to generate man files only when rst2man is installed.
# win32/Makefile is used only when either source.mk or win32/*.in is updated.
# In other cases we can still build ctags without GNU make.
#
# The following tests use bmake (NetBSD make) to check if GNU make extensions
# are not used unintentionally.
#
# On Fedora 31 bmake package cannot be installed because a package required by
# bmake is not available. More inspection is needed. Fedora 30 is the last
# version where bmake can be installed.
#
fedora30_bmake:
working_directory: ~/universal-ctags
docker:
- image: docker.io/fedora:30
steps:
- run:
name: Install Git and Gdb
command: |
dnf -y install git gdb
- checkout
- run:
name: Install packages for building ctags with bmake and checking code
command: |
dnf -y install gcc automake autoconf pkgconfig bmake libseccomp-devel libxml2-devel jansson-devel libyaml-devel pcre2-devel findutils sudo
- run:
name: Build
command: |
bash ./autogen.sh
MAKE=bmake ./configure --enable-debugging
bmake -j 2
- run:
name: Test
command: |
MAKE=bmake bmake check codecheck
fedora30_bmake_roundtrip:
working_directory: ~/universal-ctags
docker:
- image: docker.io/fedora:30
steps:
- run:
name: Install Git and Gdb
command: |
dnf -y install git gdb
- checkout
- run:
name: Install build tools
command: |
dnf -y install gcc automake autoconf pkgconfig bmake libseccomp-devel libxml2-devel jansson-devel libyaml-devel pcre2-devel findutils sudo
dnf -y install jq puppet
- run:
name: Build
command: |
bash ./autogen.sh
MAKE=bmake ./configure --enable-debugging
bmake -j 2
- run:
name: Test
command: |
MAKE=bmake bmake roundtrip
fedora39_distcheck:
working_directory: ~/universal-ctags
docker:
- image: docker.io/fedora:39
steps:
- run:
name: Install Git, Gdb and Procps-NG
command: |
dnf -y install git gdb procps-ng
- checkout
- run:
name: Install build tools
command: |
dnf -y install gcc automake autoconf pkgconfig make libseccomp-devel libxml2-devel jansson-devel libyaml-devel findutils diffutils sudo pcre2-devel
dnf -y install jq puppet python3-docutils
- run:
name: Run autogen.sh
command: |
bash ./autogen.sh
- run:
name: Run configure
command: |
./configure
- run:
name: verify generated files (optlib, txt2cstr, etc.) are updated
command: |
make check-genfile
- run:
name: Test
command: |
ulimit -c 0
# Let's trick git.
#
# "git" running in "make distcheck" may refer $(pwd)/.git of THIS context.
# On the other hand, we want to run the test cases in an environment separated
# from our git repo.
#
mkdir __NO_GIT__
make distcheck GIT_DIR=__NO_GIT__
rmdir __NO_GIT__
stream9:
working_directory: ~/universal-ctags
docker:
- image: quay.io/centos/centos:stream9
steps:
- run:
name: Install Git
command: |
yum -y --enablerepo=baseos --enablerepo=appstream --enablerepo=crb install git
- checkout
- run:
name: Install build tools
command: |
yum -y --enablerepo=baseos --enablerepo=appstream --enablerepo=crb install python3 gcc automake autoconf pkgconfig make libxml2-devel libyaml-devel pcre2-devel findutils diffutils sudo
- run:
name: Build
command: |
bash ./autogen.sh
./configure --enable-debugging
make -j 2
- run:
name: Test
command: |
make check roundtrip
ubi8:
working_directory: ~/universal-ctags
docker:
- image: registry.access.redhat.com/ubi8:latest
steps:
- run:
name: Install Git
command: |
yum -y install git
- checkout
- run:
name: Install build tools
command: |
yum -y --enablerepo=ubi-8-appstream-rpms --enablerepo=ubi-8-baseos-rpms --enablerepo=ubi-8-codeready-builder-rpms install python3 gcc automake autoconf pkgconfig make libxml2-devel libyaml-devel pcre2-devel findutils diffutils sudo
- run:
name: Build
command: |
bash ./autogen.sh
./configure --enable-debugging
make -j 2
- run:
name: Test
command: |
make check roundtrip
centos7_make:
working_directory: ~/universal-ctags
docker:
- image: docker.io/centos:7
steps:
- run:
name: Install Git
command: |
yum -y install git
- checkout
- run:
name: Install build tools
command: |
yum -y install python3 gcc automake autoconf pkgconfig make libxml2-devel jansson-devel libyaml-devel pcre2-devel findutils diffutils sudo
- run:
name: Build
command: |
bash ./autogen.sh
./configure --enable-debugging
make -j 2
- run:
name: Test
command: |
make check SKIP_CHECKGEN_WIN32=yes
centos7_make_roundtrip:
working_directory: ~/universal-ctags
docker:
- image: docker.io/centos:7
steps:
- run:
name: Install Git
command: |
yum -y install git
- checkout
- run:
name: Install build tools
command: |
yum -y install gcc automake autoconf pkgconfig make libxml2-devel jansson-devel libyaml-devel pcre2-devel findutils diffutils sudo
- run:
name: Build
command: |
bash ./autogen.sh
./configure --enable-debugging
make -j 2
- run:
name: Test
command: |
make roundtrip
ubuntu20_mingw:
working_directory: ~/universal-ctags
docker:
- image: docker.io/ubuntu:20.04
steps:
- run:
name: Install git
command: |
export DEBIAN_FRONTEND=noninteractive
apt-get -y update
apt-get -y install git
- checkout
- run:
name: Install build tools
command: |
export DEBIAN_FRONTEND=noninteractive
apt-get -o APT::Immediate-Configure=false -y install \
binutils-mingw-w64-i686 gcc-mingw-w64-i686 make gcc
- run:
name: Build
command: |
make -j2 CC=i686-w64-mingw32-gcc WINDRES=i686-w64-mingw32-windres CC_FOR_PACKCC=gcc -f mk_mingw.mak
ubuntu20_32bit:
working_directory: ~/universal-ctags
docker:
- image: docker.io/ubuntu:20.04
steps:
- run:
name: Install git
command: |
export DEBIAN_FRONTEND=noninteractive
dpkg --add-architecture i386
apt-get -y update
apt-get -y install git
- checkout
- run:
name: Install build tools
# APT::Immediate-Configure=false is taken from
# https://superuser.com/questions/199582/apt-error-could-not-perform-immediate-configuration-on
# I don't understand why I need this.
# -- Masatake
command: |
export DEBIAN_FRONTEND=noninteractive
apt-get -o APT::Immediate-Configure=false -y install \
pkg-config autoconf automake make gcc \
libjansson-dev:i386 libyaml-dev:i386 libseccomp-dev:i386 libxml2-dev:i386 \
gdb valgrind \
python3-docutils \
libc6-dev-i386 libc6-dbg:i386
- run:
name: Build
command: |
bash ./autogen.sh
CC='gcc -m32' ./configure --enable-debugging
make -j 2
- run:
name: Test
command: |
# make check roundtrip
make units CATEGORIES=parser-varlink
fedora33_cross_aarch64:
working_directory: ~/universal-ctags
docker:
- image: docker.io/library/fedora:33
steps:
- run:
name: Install tools
command: |
dnf -y install git gcc autoconf automake make file
- run:
name: Prepare repo file for install cross compiler
command: |
curl -o /etc/yum.repos.d/lantw44-aarch64-linux-gnu-toolchain-fedora-33.repo https://copr.fedorainfracloud.org/coprs/lantw44/aarch64-linux-gnu-toolchain/repo/fedora-33/lantw44-aarch64-linux-gnu-toolchain-fedora-33.repo
- run:
name: Install the cross compiler for aarch64
command: |
dnf -y install aarch64-linux-gnu-binutils aarch64-linux-gnu-gcc aarch64-linux-gnu-glibc
- checkout
- run:
name: Build ctags for aarch64
command: |
bash ./autogen.sh
mkdir out
./configure --host=aarch64-linux-gnu \
--prefix=`pwd`/out \
--enable-static \
--disable-seccomp \
CC=/usr/bin/aarch64-linux-gnu-gcc \
CPP=/usr/bin/aarch64-linux-gnu-cpp \
AR=/usr/bin/aarch64-linux-gnu-gcc-ar \
RANLIB=/usr/bin/aarch64-linux-gnu-gcc-ranlib \
CC_FOR_BUILD=/usr/bin/gcc
make -j 2
- run:
name: Install locally
command: |
make install
- run:
name: Test
command: |
test -f out/bin/ctags && ( file out/bin/ctags | grep -q 'ARM aarch64' )
workflows:
version: 2
build_and_test:
jobs:
- ubuntu20_32bit
- fedora30_bmake
- fedora39_distcheck
- stream9
- ubi8
- fedora39_gmake
- fedora33_cross_aarch64
- centos7_make
- ubuntu20_mingw
- fedora30_bmake_roundtrip
- fedora39_gmake_roundtrip
- centos7_make_roundtrip
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/XmacsLabs/ctags.git
git@gitee.com:XmacsLabs/ctags.git
XmacsLabs
ctags
ctags
tm-define

搜索帮助