mirror of
https://cagebreak.project-repo.co/cagebreak.git
synced 2026-08-20 20:44:18 +02:00
Add create release artefacts script
This commit is contained in:
parent
d6885cec30
commit
d39dae68b0
3 changed files with 55 additions and 0 deletions
13
README.md
13
README.md
|
|
@ -377,6 +377,19 @@ to set the version number in the man pages and README repology minversion.
|
|||
Use of the script without meson is discouraged because meson.build is
|
||||
not touched by the script.
|
||||
|
||||
##### Create Release Artefacts
|
||||
|
||||
Once a release is completely ready to be published, the commit is tagged with the
|
||||
version on the master branch etc. release artefacts have to be created.
|
||||
|
||||
To aid this use:
|
||||
|
||||
```
|
||||
meson compile create-artefacts -C build
|
||||
```
|
||||
|
||||
Use of the script version is discouraged.
|
||||
|
||||
### GCC and -fanalyzer
|
||||
|
||||
Cagebreak should compile with any reasonably new gcc or clang. Consider
|
||||
|
|
|
|||
|
|
@ -365,6 +365,9 @@ run_target('create-sigs',
|
|||
run_target('set-ver',
|
||||
command : ['scripts/set-version', meson.project_version()])
|
||||
|
||||
run_target('create-artefacts',
|
||||
command : ['scripts/create-release-artefacts', get_option('gpg_id'), meson.project_version()])
|
||||
|
||||
# Test Suite
|
||||
|
||||
test('Build without warnings', find_program('test/build-w-o-warnings'), env : [ ''.join('MESONCURRENTCONFIGDIR=', meson.current_source_dir()) ], suite: 'devel')
|
||||
|
|
|
|||
39
scripts/create-release-artefacts
Executable file
39
scripts/create-release-artefacts
Executable file
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/bash
|
||||
# Copyright 2023, project-repo and the cagebreak contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
if [[ -n ${MESON_SOURCE_ROOT} ]]
|
||||
then
|
||||
# shellcheck disable=2164
|
||||
cd "${MESON_SOURCE_ROOT}"
|
||||
fi
|
||||
|
||||
readonly gpg_id="${1}"
|
||||
readonly version="${2}"
|
||||
|
||||
git archive --prefix=cagebreak/ -o "release_${version}".tar.gz tags/version .
|
||||
|
||||
rm -rf "release-artefacts_${version}"
|
||||
mkdir "release-artefacts_${version}"
|
||||
|
||||
rm -rf temp-rel-artefacts
|
||||
meson setup temp-rel-artefacts -Dxwayland=true -Dman-pages=true --buildtype=release
|
||||
ninja -C temp-rel-artefacts
|
||||
|
||||
cp LICENSE "release-artefacts_${version}"
|
||||
cp SECURITY.md "release-artefacts_${version}"
|
||||
cp FAQ.md "release-artefacts_${version}"
|
||||
cp README.md "release-artefacts_${version}"
|
||||
cp temp-rel-artefacts/cagebreak "release-artefacts_${version}"
|
||||
cp temp-rel-artefacts/cagebreak.1 "release-artefacts_${version}"
|
||||
cp temp-rel-artefacts/cagebreak-config.5 "release-artefacts_${version}"
|
||||
cp temp-rel-artefacts/cagebreak-socket.7 "release-artefacts_${version}"
|
||||
cp signatures/cagebreak*.sig "release-artefacts_${version}"
|
||||
|
||||
export SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct) ; tar --sort=name --mtime= --owner=0 --group=0 --numeric-owner -czf release-artefacts_${version}.tar.gz release-artefacts_${version}
|
||||
|
||||
gpg -u "${gpg_id}" --detach-sign "release-artefacts_${version}.tar.gz"
|
||||
gpg -u "${gpg_id}" --detach-sign "release_${version}.tar.gz"
|
||||
|
||||
|
||||
rm -rf temp-rel-artefacts
|
||||
Loading…
Add table
Add a link
Reference in a new issue