Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
192 commits
Select commit Hold shift + click to select a range
4a6f2ef
ci: stage one-shot GLM security remediation
ALENOC Aug 22, 2026
8b7826d
ci: trigger one-shot GLM remediation
ALENOC Aug 22, 2026
773f98d
ci: bootstrap GLM remediation on isolated branch
ALENOC Aug 22, 2026
a49084c
security: add one-shot GLM remediation script
ALENOC Aug 22, 2026
95db935
security: add deterministic GLM remediation script
ALENOC Aug 22, 2026
ee9a9d2
ci: run GLM remediation from internal PR
ALENOC Aug 22, 2026
4deb3cd
ci: retrigger code-only GLM remediation
ALENOC Aug 22, 2026
02e1d9b
security: make GLM follow-up remediation idempotent
ALENOC Aug 22, 2026
5b06f35
ci: retrigger deterministic GLM remediation
ALENOC Aug 22, 2026
98709ef
ci: retrigger GLM remediation after clean-mode fix
ALENOC Aug 22, 2026
28f6bbf
security: commit RIP-25 enforcement and remediate GLM findings
ALENOC Aug 22, 2026
3282980
ci: restore first-pass GLM remediation for final consolidation
ALENOC Aug 22, 2026
cdcb5c8
ci: trigger final GLM consolidation pass
ALENOC Aug 22, 2026
ffbf99a
wallet: prevent plaintext PQ key persistence
ALENOC Aug 22, 2026
ad8ca9b
build: require version-proven liboqs
ALENOC Aug 22, 2026
87a7b92
test: wire RIP-25 and v4.8 security regressions
ALENOC Aug 22, 2026
b6ab5ab
cleanup: remove temporary remediation machinery
ALENOC Aug 22, 2026
634b63a
ci: harden build workflows and bind CI to pristine audited source
ALENOC Aug 24, 2026
cb3ffe6
build: fix depends build with GCC 10/11 host toolchains
ALENOC Aug 24, 2026
7a2d25c
build: fix liboqs ASM detection and QT headers for cross builds
ALENOC Aug 24, 2026
31bef25
build: correct make escaping in QT numeric_limits include loop
ALENOC Aug 24, 2026
31b0923
ci: pre-create ccache config directory before configuring
ALENOC Aug 24, 2026
cd5997c
build: survive triple make expansion in QT limits-include loop
ALENOC Aug 24, 2026
861b30c
build: limit QT limits-include patch to GCC 11 affected headers
ALENOC Aug 24, 2026
7b4c4a4
build: add missing limits includes to QT sources for GCC 11
ALENOC Aug 24, 2026
f3fa8a2
build: fix release packaging for static Windows build and pinned ds_s…
ALENOC Aug 25, 2026
fb409d0
audit: freeze RIP25 v4.8 findings register
ALENOC Aug 26, 2026
3de7a3c
consensus: gate RIP25 sigops on activation [FINDING-001]
ALENOC Aug 26, 2026
92ff820
consensus: make overflow gate reorg-contextual [FINDING-002]
ALENOC Aug 26, 2026
19d8d25
validation: preserve large RIP25 undo records [FINDING-003]
ALENOC Aug 26, 2026
f80d850
mining: bind RIP25 template resources to UTXO context [FINDING-004]
ALENOC Aug 26, 2026
3f3c919
net: bound incomplete P2P payload memory [FINDING-005]
ALENOC Aug 26, 2026
3133518
wallet: enforce ciphertext-only PQ persistence [FINDING-006]
ALENOC Aug 26, 2026
d6bf670
ci: make RIP25 invariant gate behavioral [FINDING-007]
ALENOC Aug 26, 2026
f857eb2
net: bound RIP25 orphan payloads by bytes [FINDING-008]
ALENOC Aug 26, 2026
58deeec
rpc: advertise contextual RIP25 GBT limits [FINDING-009]
ALENOC Aug 26, 2026
7168bf6
policy: purge stale PQ txs after rollback [FINDING-010]
ALENOC Aug 26, 2026
18b6096
wallet: keep PQ secrets in secure memory [FINDING-011]
ALENOC Aug 27, 2026
2615e6d
ci: rebuild release dependencies without cache [FINDING-012]
ALENOC Aug 27, 2026
f476413
audit: record remediation verification
ALENOC Aug 27, 2026
1ae674e
audit: freeze second RIP25 findings register
ALENOC Aug 27, 2026
09623b1
consensus: define legacy asset total wrapping [FINDING-013]
ALENOC Aug 28, 2026
01aeaec
audit: freeze forward PQ activation finding
ALENOC Aug 28, 2026
180316f
mining: recompute contextual PQ sigops [FINDING-014]
ALENOC Aug 28, 2026
07fb11f
mempool: purge overflow txs at activation [FINDING-015]
ALENOC Aug 28, 2026
fe22242
audit: freeze inherited parser findings
ALENOC Aug 28, 2026
d417855
test: cover preactivation PQ policy [FINDING-024]
ALENOC Aug 28, 2026
6c5016a
audit: freeze inherited wallet findings
ALENOC Aug 28, 2026
70040ae
audit: freeze wallet rewrite fail-open
ALENOC Aug 28, 2026
4f630f1
wallet: fail closed on rewrite copy errors [FINDING-030]
ALENOC Aug 28, 2026
292ff4f
wallet: atomically install rewritten database [FINDING-029]
ALENOC Aug 28, 2026
ab1207a
test: prove wallet rewrite rollback [FINDING-029]
ALENOC Aug 28, 2026
d2146a3
audit: freeze inherited ECDSA encryption finding
ALENOC Aug 28, 2026
7ccaa16
wallet: fail closed on plaintext ECDSA persistence [FINDING-031]
ALENOC Sep 3, 2026
d952047
audit: record FINDING-031 verification
ALENOC Sep 3, 2026
633db21
audit: freeze inherited BIP39 erase finding
ALENOC Sep 3, 2026
c8fb542
wallet: fail closed on encryption errors [FINDING-028]
ALENOC Sep 3, 2026
c8eb600
audit: record wallet remediation verification
ALENOC Sep 3, 2026
0060f5a
audit: freeze inherited BIP39 lifecycle findings
ALENOC Sep 4, 2026
75ac80f
audit: freeze recovery integrity findings
ALENOC Sep 4, 2026
32cfe15
wallet: preserve BIP39 recovery lineage [FINDING-033]
ALENOC Sep 4, 2026
b5a403d
audit: record FINDING-033 verification
ALENOC Sep 4, 2026
548ac39
wallet: preserve recovered state at startup [FINDING-038]
ALENOC Sep 4, 2026
d08f93e
audit: record FINDING-038 verification
ALENOC Sep 4, 2026
e531cb3
wallet: fail closed on BIP39 erase errors [FINDING-032]
ALENOC Sep 4, 2026
5c7881a
audit: record FINDING-032 verification
ALENOC Sep 4, 2026
e6f96b4
audit: freeze BIP39 ingress findings
ALENOC Sep 4, 2026
b933330
audit: freeze BIP39 creation findings
ALENOC Sep 4, 2026
2842f58
audit: freeze inherited BIP39 test gap
ALENOC Sep 4, 2026
74827b7
test: wire BIP39 vectors into unit suite [FINDING-044]
ALENOC Sep 4, 2026
e65ea83
wallet: fail closed on BIP39 KDF errors [FINDING-043]
ALENOC Sep 5, 2026
9588a84
test: enforce BIP39 KDF failure path [FINDING-043]
ALENOC Sep 5, 2026
43080e4
test: bind BIP39 KDF before wallet state [FINDING-043]
ALENOC Sep 5, 2026
01fd73b
audit: record BIP39 KDF and test verification
ALENOC Sep 5, 2026
e7bbaba
audit: freeze inherited BIP39 integrity gap
ALENOC Sep 5, 2026
48a0a97
audit: freeze inherited wallet creation leak
ALENOC Sep 5, 2026
ce1f4c5
wallet: release BIP39 secrets on lock [FINDING-034]
ALENOC Sep 5, 2026
4e4a1aa
audit: record BIP39 lock mitigation [FINDING-034]
ALENOC Sep 5, 2026
5d700ac
audit: freeze inherited recovery edge cases
ALENOC Sep 5, 2026
f81b5b6
audit: freeze inherited wallet failure paths
ALENOC Sep 6, 2026
8de9edf
wallet: install recovered DB atomically [FINDING-037] [FINDING-047]
ALENOC Sep 6, 2026
85e1a3f
audit: record atomic recovery remediation
ALENOC Sep 6, 2026
ed2c9f4
audit: reconcile completed second-pass findings
ALENOC Sep 6, 2026
006a256
net: retain fair receive ownership [FINDING-016] [FINDING-017] [FINDI…
ALENOC Sep 7, 2026
105823a
audit: record P2P ownership remediations
ALENOC Sep 7, 2026
81d336d
net: compact deserialized witness stacks [FINDING-019]
ALENOC Sep 7, 2026
a95e4d2
test: cover block witness bomb [FINDING-019]
ALENOC Sep 7, 2026
f27d742
audit: close witness amplification finding [FINDING-019]
ALENOC Sep 7, 2026
ff1f6dd
audit: freeze consumed compact state DoS [FINDING-052]
ALENOC Sep 7, 2026
25a3748
net: harden block relay parsing [FINDING-025][FINDING-052]
ALENOC Sep 7, 2026
a5c3da3
audit: close block relay findings [FINDING-025][FINDING-052]
ALENOC Sep 7, 2026
cc35aeb
audit: freeze compact index livelock [FINDING-053]
ALENOC Sep 8, 2026
f477031
net: widen compact relay indexes [FINDING-027][FINDING-053]
ALENOC Sep 8, 2026
0fb2655
audit: close compact index findings [FINDING-027][FINDING-053]
ALENOC Sep 8, 2026
d0f07cc
wallet: quarantine failed encryption rewrite [FINDING-018]
ALENOC Sep 12, 2026
c4d8353
wallet: warn about sensitive salvage backups [FINDING-054]
ALENOC Sep 12, 2026
7642b18
wallet: defer publication and reject failed rescans [FINDING-046][FIN…
ALENOC Sep 12, 2026
30c00fe
audit: reconcile wallet remediation history [FINDING-018][FINDING-046…
ALENOC Sep 12, 2026
f542b3c
wallet: make BIP44 creation atomic [FINDING-041]
ALENOC Sep 12, 2026
5b1d1dc
audit: close atomic wallet creation [FINDING-041]
ALENOC Sep 12, 2026
694e619
docs: normalize audit register punctuation
ALENOC Sep 12, 2026
ce79658
audit: freeze Avian delta findings [FINDING-056-FINDING-066]
ALENOC Sep 13, 2026
cec9649
audit: freeze asset scope finding [FINDING-067]
ALENOC Sep 13, 2026
89382ef
assets: define RIP25 native-RVN scope [FINDING-067]
ALENOC Sep 13, 2026
0697f1c
audit: record asset-scope mitigation [FINDING-067]
ALENOC Sep 13, 2026
3018dbd
test: cover legacy asset envelope scope [FINDING-067]
ALENOC Sep 13, 2026
b1a43b6
crypto: pin mldsa-native and fail closed [FINDING-022][FINDING-056][F…
ALENOC Sep 13, 2026
1dca54a
audit: record backend hardening results [FINDING-022][FINDING-056][FI…
ALENOC Sep 13, 2026
4f5c868
consensus: bind RIP25 signatures to network [FINDING-060][FINDING-062]
ALENOC Sep 19, 2026
8ef2f8a
audit: freeze RIP25 context migration finding [FINDING-068]
ALENOC Sep 19, 2026
d465b08
audit: freeze RIP25 assumevalid finding [FINDING-069]
ALENOC Sep 19, 2026
57bc779
validation: revalidate RIP25 chainstate context [FINDING-068][FINDING…
ALENOC Sep 20, 2026
9aa85cb
audit: close RIP25 context migration findings [FINDING-060][FINDING-0…
ALENOC Sep 20, 2026
aa8b174
wallet: derive recoverable PQ keys [FINDING-057]
ALENOC Sep 20, 2026
413e60c
doc: record deterministic PQ recovery [FINDING-057]
ALENOC Sep 20, 2026
441afb5
wallet: cleanse mnemonic ingress [FINDING-039]
ALENOC Sep 26, 2026
595037d
audit: record mnemonic ingress mitigation [FINDING-039]
ALENOC Sep 26, 2026
12d7142
wallet: omit mnemonic from validation errors [FINDING-042]
ALENOC Sep 26, 2026
23d07c6
audit: close mnemonic error disclosure [FINDING-042]
ALENOC Sep 26, 2026
26b3d2c
ci: require functional security execution [FINDING-065]
ALENOC Sep 26, 2026
7df73a8
audit: record mandatory CI mitigation [FINDING-020][FINDING-065]
ALENOC Sep 26, 2026
b5d2fb2
mining: report contextual GBT weights [FINDING-021]
ALENOC Sep 26, 2026
ddcb907
audit: close contextual GBT reporting [FINDING-021]
ALENOC Sep 27, 2026
6924d30
wallet: validate BIP39 atomically on unlock [FINDING-035]
ALENOC Sep 27, 2026
11e782f
wallet: avoid mnemonic edit history [FINDING-039]
ALENOC Sep 27, 2026
85acfe0
ci: expand release and wallet gates [FINDING-020][FINDING-023][FINDIN…
ALENOC Sep 27, 2026
380a730
wallet: test BIP39 CBC block mutations [FINDING-035]
ALENOC Sep 27, 2026
5bcf963
wallet: reject out-of-range BIP39 language [FINDING-040]
ALENOC Sep 27, 2026
0ff3ec7
audit: record BIP39 and release-gate status [FINDING-020][FINDING-023…
ALENOC Sep 27, 2026
b2e5c8c
wallet: renew Berkeley DB handle after failed open [FINDING-050]
ALENOC Sep 27, 2026
af888a8
audit: close Berkeley DB retry finding [FINDING-050]
ALENOC Sep 27, 2026
3a1d6f9
wallet: reject malformed CBC input before buffer use [FINDING-051]
ALENOC Sep 27, 2026
093f6fb
audit: close malformed CBC input finding [FINDING-051]
ALENOC Sep 27, 2026
20d5924
ci: require security tests before artifact builds [FINDING-020][FINDI…
ALENOC Sep 27, 2026
dc4dc4b
audit: record artifact security dependency [FINDING-020][FINDING-065]
ALENOC Sep 27, 2026
22845c3
test: require chainstate-ahead recovery regression [FINDING-020]
ALENOC Sep 27, 2026
e6dea64
audit: record chainstate-ahead executable proof [FINDING-020]
ALENOC Sep 27, 2026
5f05c1a
bench: measure PQ and ECDSA verification cost [FINDING-061]
ALENOC Sep 27, 2026
6a7f2a7
audit: record portable PQ verification benchmark [FINDING-061]
ALENOC Sep 27, 2026
2dc33e5
test: add RIP-25 consensus transaction vectors [FINDING-062]
ALENOC Sep 27, 2026
7099046
test: fuzz real RIP-25 verifier [FINDING-064]
ALENOC Sep 27, 2026
cad100e
audit: freeze inherited fee-rate overflow [FINDING-071]
ALENOC Sep 28, 2026
5c8e087
wallet: cleanse salvage buffers [FINDING-048]
ALENOC Sep 28, 2026
699f584
test: pin independent PQ and full-chain KATs [FINDING-063]
ALENOC Sep 28, 2026
4ab3666
test: require both PQ transaction vector polarities [FINDING-062]
ALENOC Sep 28, 2026
3c5a697
audit: freeze shared PQ verifier API gap [FINDING-072]
ALENOC Sep 28, 2026
7e02c17
test: fuzz serialized PQ witness transactions [FINDING-064]
ALENOC Sep 28, 2026
ffb8979
audit: freeze shared API fail-open and close salvage finding [FINDING…
ALENOC Sep 28, 2026
83e771d
policy: avoid fee-rate overflow [FINDING-071]
ALENOC Sep 28, 2026
0c1c551
audit: close fee multiplication and freeze addition gap [FINDING-071]…
ALENOC Sep 28, 2026
bf26897
script: fail closed in shared PQ verifier [FINDING-072] [FINDING-073]
ALENOC Sep 28, 2026
5179e41
policy: saturate fee-rate addition [FINDING-074]
ALENOC Sep 28, 2026
54e7108
test: assert shared verifier rejection errors [FINDING-072]
ALENOC Sep 28, 2026
5ea3b8a
audit: freeze shared witness flag bypass [FINDING-075]
ALENOC Sep 28, 2026
6c5d7f8
script: reject inconsistent witness flags [FINDING-075]
ALENOC Sep 28, 2026
5ebeb2b
ci: require PQ vectors fuzz and shared API regressions [FINDING-020] …
ALENOC Sep 28, 2026
ca52daf
audit: record PQ vectors fuzz and flag fix results [FINDING-062] [FIN…
ALENOC Sep 28, 2026
416ced7
audit: align finding references with local author metadata
ALENOC Sep 28, 2026
61425d2
audit: freeze inherited sanitizer findings F076-F078
ALENOC Sep 28, 2026
ea02f54
consensus: remove unaligned hash buffer casts [FINDING-076]
ALENOC Sep 28, 2026
88c7276
consensus: define negative SIMD scaling [FINDING-077]
ALENOC Sep 28, 2026
2ea307f
test: retain checkqueue flags until worker joins [FINDING-078]
ALENOC Sep 28, 2026
b28b5c7
audit: freeze checkqueue failure-path issue [FINDING-079]
ALENOC Sep 28, 2026
ba03292
test: join checkqueue worker before fatal assertion [FINDING-079]
ALENOC Sep 28, 2026
c9ec02b
audit: freeze PQ address bit conversion overflow [FINDING-080]
ALENOC Sep 28, 2026
4a5e20a
wallet: bound PQ address bit accumulator [FINDING-080]
ALENOC Sep 28, 2026
34c5fd2
audit: record sanitizer remediations F076-F080
ALENOC Sep 28, 2026
20e0762
audit: freeze inherited test defects F081-F082
ALENOC Sep 28, 2026
ed69e6d
test: bound P2PKH negative vectors [FINDING-081]
ALENOC Sep 28, 2026
36bc244
test: release frozen-cleanup probe lock [FINDING-082]
ALENOC Sep 28, 2026
43c08cf
audit: record sanitized test remediations F081-F082
ALENOC Sep 28, 2026
d89afe3
audit: freeze pinned liboqs patch failure [FINDING-083]
ALENOC Sep 28, 2026
fe47d1b
build: anchor liboqs provenance patch [FINDING-083]
ALENOC Sep 28, 2026
35d696d
audit: record liboqs clean-build proof [FINDING-083]
ALENOC Sep 28, 2026
9d8b89a
audit: record clean liboqs configure evidence [FINDING-083]
ALENOC Sep 28, 2026
fde5f2c
audit: freeze macOS Python path gap [FINDING-084]
ALENOC Sep 28, 2026
d25fff9
build: load pinned macOS packaging modules [FINDING-084]
ALENOC Sep 28, 2026
513a3bf
audit: record pinned macOS module proof [FINDING-084]
ALENOC Sep 28, 2026
43ad7f4
audit: freeze chainstate recovery test race [FINDING-085]
ALENOC Sep 29, 2026
cf4aea1
test: await completed chainstate rebuild [FINDING-085]
ALENOC Sep 29, 2026
8cd9d0d
audit: record CI recovery and fontconfig source outage [FINDING-085][…
ALENOC Sep 29, 2026
580f408
build: fetch pinned fontconfig from reachable mirror [FINDING-086]
ALENOC Sep 29, 2026
d6bfe26
audit: record checksum proof for fontconfig mirror [FINDING-086]
ALENOC Sep 29, 2026
6af330b
audit: freeze no-wallet PQ KAT link failure [FINDING-087]
ALENOC Sep 29, 2026
5e28ecd
audit: freeze opaque native matrix test failure [FINDING-088]
ALENOC Sep 29, 2026
08699b8
build: link PQ derivation KAT without wallet [FINDING-087]
ALENOC Sep 29, 2026
be3fd9e
ci: expose native test failures without masking gate [FINDING-088]
ALENOC Sep 29, 2026
5beba01
audit: record no-wallet KAT fix and pending native test [FINDING-087]…
ALENOC Sep 29, 2026
0da8903
audit: freeze macOS package path precedence [FINDING-089]
ALENOC Sep 29, 2026
87b38a8
build: retain pinned Python path in macOS make recipes [FINDING-089]
ALENOC Sep 29, 2026
bd8b4c6
audit: record macOS package path correction [FINDING-089]
ALENOC Sep 29, 2026
16d8ed4
audit: record cross-target CI evidence [FINDING-086] [FINDING-087] [F…
ALENOC Sep 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions .github/scripts/00-install-deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,7 @@ elif [[ ${OS} == "osx" ]]; then
s3curl \
sleuthkit \
bison \
libtinfo5 \
python3-pip

pip3 install ds-store
libtinfo5

elif [[ ${OS} == "linux" || ${OS} == "linux-disable-wallet" || ${OS} == "aarch64" || ${OS} == "aarch64-disable-wallet" ]]; then
apt -y install \
Expand Down
13 changes: 9 additions & 4 deletions .github/scripts/02-copy-build-dependencies.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#!/usr/bin/env bash

set -euo pipefail

OS=${1}
GITHUB_WORKSPACE=${2}
GITHUB_REF=${3}
Expand All @@ -25,11 +27,14 @@ cd depends
if [[ ${OS} == "windows" ]]; then
make HOST=x86_64-w64-mingw32 -j2
elif [[ ${OS} == "osx" ]]; then
mkdir SDKs
SDK_ARCHIVE=Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz
SDK_SHA256=436df6dfc7073365d12f8ef6c1fdb060777c720602cc67c2dcf9a59d94290e38
mkdir -p SDKs
cd SDKs
curl -O https://bitcoincore.org/depends-sources/sdks/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz
tar -zxf Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz
rm -rf Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz
curl --fail --location --retry 3 --output "${SDK_ARCHIVE}" "https://bitcoincore.org/depends-sources/sdks/${SDK_ARCHIVE}"
echo "${SDK_SHA256} ${SDK_ARCHIVE}" | sha256sum --check
tar -zxf "${SDK_ARCHIVE}"
rm -f "${SDK_ARCHIVE}"
cd ..
make HOST=x86_64-apple-darwin14 -j2
elif [[ ${OS} == "linux" || ${OS} == "linux-disable-wallet" ]]; then
Expand Down
17 changes: 9 additions & 8 deletions .github/scripts/04-configure-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

OS=${1}
GITHUB_WORKSPACE=${2}
EXTRA_OPTS=()

if [[ ! ${OS} || ! ${GITHUB_WORKSPACE} ]]; then
echo "Error: Invalid options"
echo "Usage: ${0} <operating system> <github workspace path> <disable wallet (true | false)>"
echo "Usage: ${0} <operating system> <github workspace path>"
exit 1
fi

Expand All @@ -15,25 +16,25 @@ elif [[ ${OS} == "osx" ]]; then
CONFIG_SITE=${GITHUB_WORKSPACE}/depends/x86_64-apple-darwin14/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking --enable-reduce-exports --disable-bench --disable-gui-tests GENISOIMAGE=${GITHUB_WORKSPACE}/depends/x86_64-apple-darwin14/native/bin/genisoimage
elif [[ ${OS} == "linux" || ${OS} == "linux-disable-wallet" ]]; then
if [[ ${OS} == "linux-disable-wallet" ]]; then
EXTRA_OPTS="--disable-wallet"
EXTRA_OPTS=(--disable-wallet)
fi
CONFIG_SITE=${GITHUB_WORKSPACE}/depends/x86_64-linux-gnu/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking --enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" LDFLAGS="-static-libstdc++" ${EXTRA_OPTS}
CONFIG_SITE=${GITHUB_WORKSPACE}/depends/x86_64-linux-gnu/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking --enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" LDFLAGS="-static-libstdc++" "${EXTRA_OPTS[@]}"
elif [[ ${OS} == "arm32v7" || ${OS} == "arm32v7-disable-wallet" ]]; then
if [[ ${OS} == "arm32v7-disable-wallet" ]]; then
EXTRA_OPTS="--disable-wallet"
CONFIG_SITE=${GITHUB_WORKSPACE}/depends/arm-linux-gnueabihf/share/config.site ./configure --prefix=/ --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++ --disable-tests --with-libs=no --with-gui=no ${EXTRA_OPTS}
EXTRA_OPTS=(--disable-wallet)
CONFIG_SITE=${GITHUB_WORKSPACE}/depends/arm-linux-gnueabihf/share/config.site ./configure --prefix=/ --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++ --disable-tests --with-libs=no --with-gui=no "${EXTRA_OPTS[@]}"
else
CONFIG_SITE=${GITHUB_WORKSPACE}/depends/arm-linux-gnueabihf/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking --enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" LDFLAGS="-static-libstdc++"
fi
elif [[ ${OS} == "aarch64" || ${OS} == "aarch64-disable-wallet" ]]; then
if [[ ${OS} == "aarch64-disable-wallet" ]]; then
EXTRA_OPTS="--disable-wallet"
CONFIG_SITE=${GITHUB_WORKSPACE}/depends/aarch64-linux-gnu/share/config.site ./configure --prefix=/ --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++ --disable-tests --with-libs=no --with-gui=no ${EXTRA_OPTS}
EXTRA_OPTS=(--disable-wallet)
CONFIG_SITE=${GITHUB_WORKSPACE}/depends/aarch64-linux-gnu/share/config.site ./configure --prefix=/ --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++ --disable-tests --with-libs=no --with-gui=no "${EXTRA_OPTS[@]}"
else
CONFIG_SITE=${GITHUB_WORKSPACE}/depends/aarch64-linux-gnu/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking --enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" LDFLAGS="-static-libstdc++"
fi
else
echo "You must pass an OS."
echo "Usage: ${0} <operating system> <github workspace path> <disable wallet (true | false)>"
echo "Usage: ${0} <operating system> <github workspace path>"
exit 1
fi
33 changes: 26 additions & 7 deletions .github/scripts/06-package.sh
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
#!/usr/bin/env bash

set -euo pipefail

OS=${1}
GITHUB_WORKSPACE=${2}
GITHUB_BASE_REF=${3}

echo "----------------------------------------"
env
echo "----------------------------------------"

if [[ ! ${OS} || ! ${GITHUB_WORKSPACE} || ! ${GITHUB_BASE_REF} ]]; then
echo "Error: Invalid options"
Expand Down Expand Up @@ -59,7 +58,11 @@ if [[ ${OS} == "windows" ]]; then
make install DESTDIR=${STAGE_DIR}/${DISTNAME}

cd ${STAGE_DIR}
mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/
# Depends builds link statically, so there may be no DLLs to move;
# a hard glob failure here would discard an otherwise complete build.
if compgen -G "${DISTNAME}/bin/*.dll" > /dev/null; then
mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/
fi
find . -name "lib*.la" -delete
find . -name "lib*.a" -delete
rm -rf ${DISTNAME}/lib/pkgconfig
Expand Down Expand Up @@ -96,12 +99,28 @@ if [[ ${OS} == "windows" ]]; then
done

elif [[ ${OS} == "osx" ]]; then


# Use all three checksum-pinned macdeploy modules from depends.
native_python_lib="${GITHUB_WORKSPACE}/depends/x86_64-apple-darwin14/native/lib"
export PYTHONPATH="${native_python_lib}/python3/dist-packages:${native_python_lib}/python/dist-packages${PYTHONPATH:+:${PYTHONPATH}}"
python3 - "${native_python_lib}" <<'PY'
import importlib
import os
import sys

root = os.path.realpath(sys.argv[1])
for name in ("biplist", "mac_alias", "ds_store"):
module = importlib.import_module(name)
source = os.path.realpath(module.__file__)
if os.path.commonpath((root, source)) != root:
raise SystemExit("macOS packaging requires pinned depends module: " + name)
PY

make install-strip DESTDIR=${STAGE_DIR}/${DISTNAME}

make osx_volname

make deploydir
make PYTHONPATH="${PYTHONPATH}" deploydir

if [[ -e ${GITHUB_WORKSPACE}/dist/Raven-Qt.app/Contents/MacOS/install_cli.sh ]]; then
chmod +x ${GITHUB_WORKSPACE}/dist/Raven-Qt.app/Contents/MacOS/install_cli.sh
Expand All @@ -121,7 +140,7 @@ elif [[ ${OS} == "osx" ]]; then

cd ${GITHUB_WORKSPACE}

make deploy
make PYTHONPATH="${PYTHONPATH}" deploy

${GITHUB_WORKSPACE}/depends/x86_64-apple-darwin14/native/bin/dmg dmg "Raven-Core.dmg" ${RELEASE_LOCATION}/${DISTNAME}-osx-unsigned.dmg

Expand Down
Loading
Loading