mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-08-23 17:47:31 +00:00
build-wine: allow local testing
Before, it was only possible to test commits that are on Github (pull request or merged). Now, changes can be tested locally too. This introduces the risk that a release could be built containing uncommitted changes which by definition breaks deterministic builds. Fortunately, this will always be detected because the version string is created using `git describe --tags --dirty`. Also, retire $TARGET variable because it decouples the build scripts from the commit revision to be built. This is a problem for deterministic builds.
This commit is contained in:
parent
586aee45eb
commit
73fee2fefa
6 changed files with 13 additions and 40 deletions
|
@ -33,7 +33,7 @@ jobs:
|
||||||
install:
|
install:
|
||||||
- sudo docker build --no-cache -t electrum-wine-builder-img ./contrib/build-wine/docker/
|
- sudo docker build --no-cache -t electrum-wine-builder-img ./contrib/build-wine/docker/
|
||||||
script:
|
script:
|
||||||
- sudo docker run --name electrum-wine-builder-cont -v $PWD:/opt/electrum --rm --workdir /opt/electrum/contrib/build-wine electrum-wine-builder-img ./build.sh $TRAVIS_COMMIT
|
- sudo docker run --name electrum-wine-builder-cont -v $PWD:/opt/wine64/drive_c/electrum --rm --workdir /opt/wine64/drive_c/electrum/contrib/build-wine electrum-wine-builder-img ./build.sh
|
||||||
after_success: true
|
after_success: true
|
||||||
- os: osx
|
- os: osx
|
||||||
language: c
|
language: c
|
||||||
|
@ -53,4 +53,4 @@ jobs:
|
||||||
script:
|
script:
|
||||||
- ./contrib/deterministic-build/check_submodules.sh
|
- ./contrib/deterministic-build/check_submodules.sh
|
||||||
after_success: true
|
after_success: true
|
||||||
if: tag IS present
|
if: tag IS present
|
||||||
|
|
|
@ -19,23 +19,7 @@ set -e
|
||||||
mkdir -p tmp
|
mkdir -p tmp
|
||||||
cd tmp
|
cd tmp
|
||||||
|
|
||||||
if [ -d ./electrum ]; then
|
pushd $WINEPREFIX/drive_c/electrum
|
||||||
rm ./electrum -rf
|
|
||||||
fi
|
|
||||||
|
|
||||||
git clone https://github.com/spesmilo/electrum -b master
|
|
||||||
|
|
||||||
pushd electrum
|
|
||||||
if [ ! -z "$1" ]; then
|
|
||||||
# a commit/tag/branch was specified
|
|
||||||
if ! git cat-file -e "$1" 2> /dev/null
|
|
||||||
then # can't find target
|
|
||||||
# try pull requests
|
|
||||||
git config --local --add remote.origin.fetch '+refs/pull/*/merge:refs/remotes/origin/pr/*'
|
|
||||||
git fetch --all
|
|
||||||
fi
|
|
||||||
git checkout $1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Load electrum-icons and electrum-locale for this release
|
# Load electrum-icons and electrum-locale for this release
|
||||||
git submodule init
|
git submodule init
|
||||||
|
@ -59,11 +43,9 @@ popd
|
||||||
find -exec touch -d '2000-11-11T11:11:11+00:00' {} +
|
find -exec touch -d '2000-11-11T11:11:11+00:00' {} +
|
||||||
popd
|
popd
|
||||||
|
|
||||||
rm -rf $WINEPREFIX/drive_c/electrum
|
cp $WINEPREFIX/drive_c/electrum/LICENCE .
|
||||||
cp -r electrum $WINEPREFIX/drive_c/electrum
|
cp -r $WINEPREFIX/drive_c/electrum/contrib/deterministic-build/electrum-locale/locale $WINEPREFIX/drive_c/electrum/lib/
|
||||||
cp electrum/LICENCE .
|
cp $WINEPREFIX/drive_c/electrum/contrib/deterministic-build/electrum-icons/icons_rc.py $WINEPREFIX/drive_c/electrum/gui/qt/
|
||||||
cp -r ./electrum/contrib/deterministic-build/electrum-locale/locale $WINEPREFIX/drive_c/electrum/lib/
|
|
||||||
cp ./electrum/contrib/deterministic-build/electrum-icons/icons_rc.py $WINEPREFIX/drive_c/electrum/gui/qt/
|
|
||||||
|
|
||||||
# Install frozen dependencies
|
# Install frozen dependencies
|
||||||
$PYTHON -m pip install -r ../../deterministic-build/requirements.txt
|
$PYTHON -m pip install -r ../../deterministic-build/requirements.txt
|
||||||
|
|
|
@ -2,10 +2,6 @@
|
||||||
# Lucky number
|
# Lucky number
|
||||||
export PYTHONHASHSEED=22
|
export PYTHONHASHSEED=22
|
||||||
|
|
||||||
if [ ! -z "$1" ]; then
|
|
||||||
to_build="$1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
here=$(dirname "$0")
|
here=$(dirname "$0")
|
||||||
test -n "$here" -a -d "$here" || exit
|
test -n "$here" -a -d "$here" || exit
|
||||||
|
|
||||||
|
@ -28,5 +24,5 @@ find -exec touch -d '2000-11-11T11:11:11+00:00' {} +
|
||||||
popd
|
popd
|
||||||
ls -l /opt/wine64/drive_c/python*
|
ls -l /opt/wine64/drive_c/python*
|
||||||
|
|
||||||
$here/build-electrum-git.sh $to_build && \
|
$here/build-electrum-git.sh && \
|
||||||
echo "Done."
|
echo "Done."
|
||||||
|
|
|
@ -25,14 +25,14 @@ folder.
|
||||||
3. Build Windows binaries
|
3. Build Windows binaries
|
||||||
|
|
||||||
```
|
```
|
||||||
$ TARGET=master
|
$ git checkout $REV
|
||||||
$ sudo docker run \
|
$ sudo docker run \
|
||||||
--name electrum-wine-builder-cont \
|
--name electrum-wine-builder-cont \
|
||||||
-v .:/opt/electrum \
|
-v $PWD:/opt/wine64/drive_c/electrum \
|
||||||
--rm \
|
--rm \
|
||||||
--workdir /opt/electrum/contrib/build-wine \
|
--workdir /opt/wine64/drive_c/electrum/contrib/build-wine \
|
||||||
electrum-wine-builder-img \
|
electrum-wine-builder-img \
|
||||||
./build.sh $TARGET
|
./build.sh
|
||||||
```
|
```
|
||||||
4. The generated binaries are in `./contrib/build-wine/dist`.
|
4. The generated binaries are in `./contrib/build-wine/dist`.
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
!define MUI_ABORTWARNING
|
!define MUI_ABORTWARNING
|
||||||
!define MUI_ABORTWARNING_TEXT "Are you sure you wish to abort the installation of ${PRODUCT_NAME}?"
|
!define MUI_ABORTWARNING_TEXT "Are you sure you wish to abort the installation of ${PRODUCT_NAME}?"
|
||||||
|
|
||||||
!define MUI_ICON "tmp\electrum\icons\electrum.ico"
|
!define MUI_ICON "c:\electrum\icons\electrum.ico"
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
;Pages
|
;Pages
|
||||||
|
@ -111,7 +111,7 @@ Section
|
||||||
|
|
||||||
;Files to pack into the installer
|
;Files to pack into the installer
|
||||||
File /r "dist\electrum\*.*"
|
File /r "dist\electrum\*.*"
|
||||||
File "..\..\icons\electrum.ico"
|
File "c:\electrum\icons\electrum.ico"
|
||||||
|
|
||||||
;Store installation folder
|
;Store installation folder
|
||||||
WriteRegStr HKCU "Software\${PRODUCT_NAME}" "" $INSTDIR
|
WriteRegStr HKCU "Software\${PRODUCT_NAME}" "" $INSTDIR
|
||||||
|
|
|
@ -79,11 +79,6 @@ retry() {
|
||||||
here=$(dirname $(readlink -e $0))
|
here=$(dirname $(readlink -e $0))
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Clean up Wine environment
|
|
||||||
echo "Cleaning $WINEPREFIX"
|
|
||||||
rm -rf $WINEPREFIX
|
|
||||||
echo "done"
|
|
||||||
|
|
||||||
wine 'wineboot'
|
wine 'wineboot'
|
||||||
|
|
||||||
cd /tmp/electrum-build
|
cd /tmp/electrum-build
|
||||||
|
|
Loading…
Add table
Reference in a new issue