Commit Graph

56 Commits

Author SHA1 Message Date
Michael Stapelberg 28671a622b release.sh: re-add warning about debian/changelog changes
As long as we push auto builder packages from our CI, we need to update the
version number via the changelog.
2022-09-21 21:58:41 +02:00
Michael Stapelberg 3e434ba0ce release.sh: latest released version numbers 2022-09-21 21:58:41 +02:00
Michael Stapelberg 6ae232a323 release.sh: fix Debian source repository configuration
Debian switched to deb822 sources.list:

https://twitter.com/zekjur/status/1572622368492888065
2022-09-21 21:58:41 +02:00
Michael Stapelberg 5caf49323c release.sh: fix regexp for updating version in index.html 2022-09-21 21:58:41 +02:00
Michael Stapelberg 12cdf435aa release.sh: update website branch name 2022-09-21 21:58:41 +02:00
Michael Stapelberg d7b9a45ff3 release.sh: remove dput instruction
Package maintenance is done by sur5r these days (thanks!)
2022-09-21 21:58:41 +02:00
Orestis Floros c083e023b6
Keep each release note in a single file
To avoid annoying merge conflicts.

Perl script is provided for convenience and simple format checking in
PRs.
2021-11-05 10:13:22 +01:00
Michael Stapelberg 93e8ccd792 post-release release.sh changes 2021-10-19 18:16:34 +02:00
Ingo Bürk a0938bd606
Update docs to Discussions (#4503) 2021-09-10 09:18:01 +02:00
Michael Stapelberg 4b1ea08eef
release.sh and release notes changes post-release (#4258) 2020-11-15 19:22:09 +01:00
Michael Stapelberg 4085c4be3b
the stable version can now be found in the stable branch (#4129)
fixes #4127
2020-06-15 12:00:24 +02:00
Michael Stapelberg aba6ec3e52
add meson build files (#4094)
Motivation:

• faster builds (on an Intel Core i9-9900K):
  ( ../configure --disable-sanitizers && make -j8; )
  19,47s user 2,78s system 395% cpu 5,632 total

  ( meson .. -Dmans=true -Ddocs=true -Dprefix=/usr && ninja; )
  38,67s user 3,73s system 1095% cpu 3,871 total

• more approachable build system configuration in the
  python-esque meson domain specific language instead of
  the autotools m4 macro language

• built-in language server support thanks to ninja:
  the required compile_commands.json is built automatically
  and only needs to be linked from the source dir, e.g.:
  ln -s build/compile_commands.json .

Changes:

• the embedded vcs version info format changed from e.g.
  4.18-282-gabe46f69 (2020-05-16, branch "next")
  to:
  4.18-282-gabe46f69
  I think it’s better to lose a little bit of detail for
  the gained cleanliness of using meson’s vcs_tag()

• Drop unused xcb-event dependency.

• We can no longer enable sanitizers and debug options
  based on whether we are in a release or non-release build,
  because our new version logic runs at ninja build time,
  not at meson configure time.

  The new behavior is probably for the better in terms of
  what people expect, and we can make the CI use address sanitizer
  explicitly to ensure it is still exercised.

• We lose the AX_EXTEND_SRCDIR behavior, i.e. including the
  path component of the parent of the source dir in all paths.
  This was a trick we used for easier debugging, so that stack
  traces would contain e.g. ../i3-4.18.1/src/main.c, instead of
  just src/main.c.

  The other mechanism (_i3_version symbol) that we have for including
  the version number in the “backtrace full” (but not merely
  “backtrace”) output of gdb still works.

• Release tarballs now use tar.xz. Why not.

Migration plan

This commit adds the meson build files to the tree, but does not remove
autotools yet. For the development phase, we will keep both build systems
functional (and built on travis).

Then, just before the i3 v4.19 release, we will remove autotools from the tree
and the release tarball will require meson to compile.

This way, we incentivize maintainers to change, while also offering them an easy
way out (if desired) by reverting the most recent commit. In practice, switching
a distribution package from autotools to meson should only be a few line change,
easier than applying the provided patch :). Take a look at the debian/ changes
in this commit for an example.

meson is broadly available everywhere that i3 is available: Both xorg-server and
systemd gained meson build files in 2017, so we can follow suit:
https://anholt.livejournal.com/52574.html
https://in.waw.pl/~zbyszek/blog/systemd-meson.html

How do I?

For producing a coverage report, enable the b_coverage meson base option
and run ninja coverage-html:
% cd build
% meson .. -Db_coverage=true
% ninja
% ninja test
% ninja coverage-html
See also https://mesonbuild.com/howtox.html#producing-a-coverage-report

For using the address sanitizer, memory sanitizer or undefined behavior
sanitizer, use the b_sanitize meson base option:
% cd build
% meson .. -Db_sanitize=address
% ninja
See also https://mesonbuild.com/Builtin-options.html#base-options

related to #4086
2020-05-19 14:45:06 +02:00
Michael Stapelberg 8f0b92cae2 release.sh: update versions 2020-04-22 09:33:11 +02:00
Michael Stapelberg c4ffc0f5e1 release.sh: docker build: use --no-cache
This avoids issues with stale caches. We rather don’t use caching at all:
release.sh is only run once per release.
2020-04-22 09:32:38 +02:00
Michael Stapelberg f5ab2c919f release.sh: use diff --color
colordiff is no longer necessary, and not installed on many systems.
2020-04-22 09:32:22 +02:00
Michael Stapelberg 840d9202d1 release.sh changes for v4.17 2019-08-03 15:29:04 +02:00
Michael Stapelberg 3a3f0f18e6 release.sh: save docs first
Otherwise, as @orestisf1993 pointed out, the saved documentation will have the
wrong version number.
2018-11-05 19:32:29 +01:00
Michael Stapelberg 86bcb21dbc update release.sh for the 4.16 release 2018-11-04 15:07:24 +01:00
Michael Stapelberg a05ba370cd update release.sh after release 2018-03-10 18:53:20 +01:00
Michael Stapelberg c74dd61f59 release: new-enough dput no longer needs an explicit file name 2018-03-10 18:53:04 +01:00
Michael Stapelberg a07980f70b release: also build a Debian source-only upload 2018-03-10 18:52:50 +01:00
Michael Stapelberg 8513107f09 release: disable git’s rename protection (prevented merging) 2018-03-10 18:52:27 +01:00
Michael Stapelberg 89d6287110 update debian/changelog and release.sh after release (#2987) 2017-09-25 09:04:31 +02:00
Ingo Bürk f2ffd8d864 Added instructions to update Github milestones after release. (#2561) 2016-11-21 12:41:43 -08:00
Michael Stapelberg 0dd9d2202f release.sh: update for v4.13 release (#2582) 2016-11-21 03:16:06 -08:00
Michael Stapelberg 6e519e18e1 release.sh: add reminder to announce on reddit (#2553) 2016-11-10 00:25:30 -08:00
Michael Stapelberg 05e5901bca generate asciidoc.conf via autoconf
…instead of updating it in release.sh.
2016-10-23 21:09:24 +02:00
Michael Stapelberg 7b2d734463 Update release.sh for autotools 2016-10-23 21:09:24 +02:00
eplanet b668d62cfc Deleting VERSION and extracting it from I3_VERSION instead (#2419) 2016-08-13 13:46:27 -07:00
Johannes Lange 808bad10ef auto-creating (I3_)VERSION for each release and post-release version files
with 'non-git' suffix

fixes #1993
2016-04-07 19:12:21 +02:00
Michael Stapelberg ab2d46b65b release.sh: clone from canonical location
This ensures the repository is up-to-date (in all branches!), hopefully
preventing merge mistakes such as the one fixed with
0e29101ae5
2016-03-06 17:02:12 +01:00
Michael Stapelberg efff2361cb release.sh: update i3-announce mailing list address 2016-03-06 16:31:11 +01:00
Michael Stapelberg cb4235706f update release.sh for the 4.12 release 2016-03-06 16:27:49 +01:00
Till Maas 913fb60a6a Use https if possible
git:// and http:// do not protect the integrity of the accessed data.
Therefore use https instead.
2015-11-19 13:32:35 +01:00
Michael Stapelberg 2c4fd56069 update release.sh for 4.11 release 2015-09-30 09:06:34 +02:00
Michael Stapelberg c9b6ec71aa update release.sh for 4.10.4 release 2015-09-08 09:27:59 +02:00
Michael Stapelberg ad826f06da release.sh: pull website repository before 2015-07-30 22:45:23 +02:00
Michael Stapelberg 5ee679c514 release.sh: the mailing list part is done automatically 2015-07-30 22:43:34 +02:00
Michael Stapelberg 8c116e228b release.sh: replace version in _docs/debugging at the right time 2015-07-30 22:26:45 +02:00
Michael Stapelberg c493cde96e release.sh: bugfix: take docs from tmpdir, not startdir 2015-07-30 22:21:48 +02:00
Michael Stapelberg 5a20394092 release.sh: commit modified debian/changelog
Otherwise, we cannot switch branches.
2015-07-30 22:16:01 +02:00
Michael Stapelberg e362c3cf30 release.sh: 4.10.3 release 2015-07-30 22:07:51 +02:00
Michael Stapelberg f87a78e1a9 release.sh: tell git to prefer “next” when merging 2015-07-30 22:07:13 +02:00
Ingo Bürk 798e654af7 Adapt release.sh to update the latest version in the debugging docs. 2015-04-20 19:17:42 +02:00
Michael Stapelberg 923a61ae37 release.sh: add missing -t parameter for sendmail 2015-04-16 09:22:01 +02:00
Michael Stapelberg d05e9df0a1 release.sh: add missing commit step for debian changelog 2015-04-16 09:22:01 +02:00
Michael Stapelberg e382a8bbbb release.sh: fix encoding and concatenating changelog 2015-04-16 09:22:00 +02:00
Michael Stapelberg 25afa30f87 release.sh: set up master branch for pushing the website 2015-04-16 09:22:00 +02:00
Michael Stapelberg 57c56b2999 release.sh: checkout correct branch before copying docs 2015-04-16 09:22:00 +02:00
Michael Stapelberg d9f483e946 release.sh: 4.10.2 release 2015-04-16 09:22:00 +02:00