Skip to content

Commit

Permalink
Merge branch 'trunk' into release
Browse files Browse the repository at this point in the history
This is release 2.4.0

Signed-off-by: Nico Sonack <[email protected]>
  • Loading branch information
herrhotzenplotz committed Jun 28, 2024
2 parents 95ef6a1 + fe7d670 commit 2a81795
Show file tree
Hide file tree
Showing 130 changed files with 6,135 additions and 996 deletions.
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ root = true
end_of_line = lf
insert_final_newline = true
indent_style = tab
tab_width = 4
tab_width = 8
trim_trailing_whitespace = true
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
/templates/*/*.t~
/templates/*/*.h
/Makefile
/Makefile.in
/aclocal.m4
/autom4te.cache/
/compile
Expand All @@ -14,7 +13,6 @@
/config.log
/config.status
/config.sub
/configure
/configure~
/depcomp
# build artifacts
Expand Down
42 changes: 16 additions & 26 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,53 +4,43 @@ stages:

alpine-amd64:
stage: testing
tags:
- linux
image: alpine:3.17
script:
- apk add libcurl gcc autoconf automake libtool make pkgconf musl-dev curl-dev flex bison xz gzip bzip2 libbsd-dev kyua atf-dev libedit-dev
- ./autogen.sh
- ./configure CFLAGS='-std=c99 -pedantic -Wall -Wextra -Werror' CPPFLAGS='-D_XOPEN_SOURCE=600' --disable-silent-rules --with-libedit || (cat config.log && exit 42)
- make -j
- make -j distcheck
- apk add libcurl gcc make pkgconf musl-dev curl-dev flex bison libbsd-dev kyua atf-dev libedit-dev
- ./configure --debug
- make -j all
- make -j check

freebsd-arm64:
stage: testing
tags:
- freebsd
- arm64
script:
- ./autogen.sh
- ./configure LEX=flex YACC=byacc CFLAGS='-std=c99 -pedantic -Wall -Wextra -Wno-misleading-indentation -Werror' CPPFLAGS='-D_XOPEN_SOURCE=600' --disable-silent-rules || (cat config.log && exit 42)
- make -j 4
- make -j 4 distcheck
- ./configure --debug
- make -j 4 all
- make -j 4 check

dist:
stage: dist
tags:
- linux
image: alpine:3.18
script:
- apk add libcurl gcc autoconf automake libtool make pkgconf musl-dev curl-dev flex bison xz gzip bzip2 libbsd-dev kyua atf-dev cmark
- ./autogen.sh
- ./configure CFLAGS='-std=c99 -pedantic -Wall -Wextra -Werror' CPPFLAGS='-D_XOPEN_SOURCE=600' --disable-silent-rules || (cat config.log && exit 42)
- make -j dist
- cd docs/website && ./deploy.sh
- apk add libcurl gcc make pkgconf musl-dev curl-dev flex bison xz gzip bzip2 libbsd-dev kyua atf-dev cmark git
- ./configure --debug
- (cd docs/website && ./deploy.sh)
- tools/gentarball.sh
artifacts:
name: "Dist Tarballs"
paths:
- gcli-*.tar.*
- dist/gcli-*/*
- docs/website/website_dist.tar.xz

debian-amd64:
stage: testing
tags:
- linux
image: debian:bullseye
script:
- apt-get update
- apt-get install -y --no-install-recommends build-essential libcurl4-openssl-dev pkgconf autotools-dev bison flex make autoconf automake libtool libbsd-dev libatf-dev kyua libreadline-dev
- ./autogen.sh
- ./configure CFLAGS='-std=c99 -pedantic -Wall -Wextra -Werror -Wno-misleading-indentation' CPPFLAGS='-D_XOPEN_SOURCE=600' --disable-silent-rules --with-readline || (cat config.log && exit 42)
- make -j
- make -j distcheck
- apt-get install -y --no-install-recommends build-essential libcurl4-openssl-dev pkgconf bison flex make libbsd-dev libatf-dev kyua libreadline-dev libssl-dev
- ./configure --debug
- make -j all
- make -j check
15 changes: 10 additions & 5 deletions .hotzrc
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
# local kakrc for gcli

# We build inside the build directory
cd build
# cd build

set-option global ctagscmd "uctags -R --fields=+S"
set-option global ctagspaths "../include ../src ../thirdparty"

# Define the make cmd to be parallel but only use half of the available cpu cores
evaluate-commands %sh{
N=$(nproc)
T=$(($N - 1))
S=$(($T / 2))
if [ $(uname -s) = FreeBSD ];
then
N=$(nproc)
T=$(($N - 1))
S=$(($T / 2))

echo "set-option global makecmd \"cpuset -l${S}-${T} make -j${T}\""
echo "set-option global makecmd \"cpuset -l${S}-${T} make -j${T} -C build\""
else
echo "set-option global makecmd \"nice make -C build\""
fi
}

hook global BufSetOption filetype=c %{
Expand Down
95 changes: 95 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,101 @@

This changelog does not follow semantic versioning.

## 2.4.0 (2024-June-28)

### Added

- Added a convenience flag `-V` or `--version` that prints the
version of gcli.

- Added an option to disable the spinner to indicate network activity

You can now either set `disable-spinner=yes` in your default
section in the config file, specify `--no-spinner` as a command
line flag or set the environment variable `GCLI_NOSPINNER` to
disable the spinner. This is useful for dumb terminal environments
like acme where the `\r` used by the spinner is not interpreted.
Submitted by: Gavin-John Noonan

- Added an interactive status feature

Running `gcli status` will now drop you into a prompt-based
interactive TODO/notification menu. Currently this only supports
issues however this will be extended in future releases.
The old behaviour of `gcli status` showing a list of notifications
can be achieved by supplying the `-l` or `--list` option.

See also https://gitlab.com/herrhotzenplotz/gcli/-/issues/224

- Experimental support for code review has been added

When enabling experimental features through either:

- setting `GCLI_ENABLE_EXPERIMENTAL` in the environment to `yes`
- setting `enable-experimental` in the default section of the
gcli config file to yes

you will get a action `review` on the pull request subcommand.

This subcommand will pull down the diff of the given pull request
and loads it into your editor. You can then annotate the diff,
save and quit. gcli will then parse the diff, extract comments
and allows you to submit them as a review.

Please refer to the new `gcli-pulls-review(1)` manual page that
has been added for this feature.

Also note that this is experimental and may be buggy. However,
testing is very much appreciated and I will gladly discuss ideas
and usability issues.

Please check in on IRC (#gcli on Libera.Chat) for these matters
and/or post to our mailing list at
https://lists.sr.ht/~herrhotzenplotz/gcli-discuss.

### Fixed

- Fixed resolving true .git directory when working inside a git
worktree. This used to work before, however newer versions of git
changed how these worktrees pointing to the true git directory.
Reported by: Robert Clausecker

- Fixed bad error message extraction when API errors occured on
GitLab. We now check for common error message fields in the
returned payload from the GitLab API and choose the (probably)
most useful one.

- Fixed segmentation fault when displaying certain pull requests
on Gitea.

- Fixed some spelling mistakes in various manual pages

### Changed

- The GitLab API returns the list of comments in reverse chronological
order. We now reverse this list to print the comments in the correct
order such that a logical timeline of a conversation can be seen.

- The build system of gcli has been migrated away from Autotools.
The GNU autotools have been complicating and slowing down the
gcli builds by a huge amount. Using autotools prevented easy
cross-compilation of gcli because it would have required the use
of GNU make. Instead of autotools we now use a hand-written
configure script and a hand-written Makefile that gets pre-processed
by the configure script. You can still invoke the configure script
as expected however some options aren't available anymore.

Packagers are likely interested in the `--release` flag of the
configure script. Most other compilation environment flags
are controlled by environment variables. Please refer to
`./configure --help` for more information. The `HACKING.md` file
also includes valuable information including examples.

Out-of-tree builds are still fully supported.

If you encounter bugs / other difficulties due to these changes
please report back!

## 2.3.0 (2024-Mar-25)

### Added
Expand Down
Loading

0 comments on commit 2a81795

Please sign in to comment.