mirror of
https://github.com/boldsuck/haveno.git
synced 2025-03-12 09:27:58 +00:00
add installer builds to artifacts w/ GH action (#864)
This commit is contained in:
parent
06102054fb
commit
de07a926c2
2 changed files with 140 additions and 25 deletions
108
.github/workflows/artifacts.yml
vendored
Normal file
108
.github/workflows/artifacts.yml
vendored
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
name: Build Haveno Installers
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-linux:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Set up JDK
|
||||||
|
uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: '21'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y rpm
|
||||||
|
|
||||||
|
- name: Build Haveno Installer for Linux
|
||||||
|
run: |
|
||||||
|
./gradlew clean build --refresh-keys --refresh-dependencies
|
||||||
|
./gradlew packageInstallers
|
||||||
|
working-directory: .
|
||||||
|
|
||||||
|
- name: Move Release Files
|
||||||
|
run: |
|
||||||
|
mkdir ${{ github.workspace }}/release
|
||||||
|
mv desktop/build/temp-*/binaries/haveno-*.rpm ${{ github.workspace }}/release
|
||||||
|
mv desktop/build/temp-*/binaries/haveno_*.deb ${{ github.workspace }}/release
|
||||||
|
mv desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: HavenoInstaller-linux
|
||||||
|
path: ${{ github.workspace }}/release
|
||||||
|
|
||||||
|
|
||||||
|
build-macos:
|
||||||
|
runs-on: macos-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Set up JDK
|
||||||
|
uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: '21'
|
||||||
|
|
||||||
|
- name: Build Haveno Installer for macOS
|
||||||
|
run: |
|
||||||
|
./gradlew clean build --refresh-keys --refresh-dependencies
|
||||||
|
./gradlew packageInstallers
|
||||||
|
working-directory: .
|
||||||
|
|
||||||
|
- name: Move Release Files
|
||||||
|
run: |
|
||||||
|
mkdir ${{ github.workspace }}/release
|
||||||
|
mv desktop/build/temp-*/binaries/Haveno-*.dmg ${{ github.workspace }}/release
|
||||||
|
mv desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: HavenoInstaller-macos
|
||||||
|
path: ${{ github.workspace }}/release
|
||||||
|
|
||||||
|
build-windows:
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Set up JDK
|
||||||
|
uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: '21'
|
||||||
|
|
||||||
|
- name: Install WiX Toolset
|
||||||
|
run: |
|
||||||
|
Invoke-WebRequest -Uri 'https://github.com/wixtoolset/wix3/releases/download/wix314rtm/wix314.exe' -OutFile wix314.exe
|
||||||
|
.\wix314.exe /quiet /norestart
|
||||||
|
shell: powershell
|
||||||
|
|
||||||
|
- name: Build Haveno Installer for Windows
|
||||||
|
run: |
|
||||||
|
./gradlew clean build --refresh-keys --refresh-dependencies
|
||||||
|
./gradlew packageInstallers
|
||||||
|
working-directory: .
|
||||||
|
|
||||||
|
- name: Move Release Files
|
||||||
|
run: |
|
||||||
|
mkdir ${{ github.workspace }}/release
|
||||||
|
Move-Item -Path desktop\build\temp-*/binaries\Haveno-*.exe -Destination ${{ github.workspace }}/release
|
||||||
|
Move-Item -Path desktop\build\temp-*/binaries\desktop-*.jar.SHA-256 -Destination ${{ github.workspace }}/release
|
||||||
|
shell: powershell
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: HavenoInstaller-windows
|
||||||
|
path: ${{ github.workspace }}/release
|
|
@ -6,33 +6,40 @@ task jpackageSanityChecks {
|
||||||
description 'Interactive sanity checks on the version of the code that will be packaged'
|
description 'Interactive sanity checks on the version of the code that will be packaged'
|
||||||
|
|
||||||
doLast {
|
doLast {
|
||||||
executeCmd("git --no-pager log -5 --oneline")
|
if (!System.getenv("CI")) {
|
||||||
ant.input(message: "Above you see the current HEAD and its recent history.\n" +
|
executeCmd("git --no-pager log -5 --oneline")
|
||||||
"Is this the right commit for packaging? (y=continue, n=abort)",
|
ant.input(message: "Above you see the current HEAD and its recent history.\n" +
|
||||||
addproperty: "sanity-check-1",
|
"Is this the right commit for packaging? (y=continue, n=abort)",
|
||||||
validargs: "y,n")
|
addproperty: "sanity-check-1",
|
||||||
if (ant.properties['sanity-check-1'] == 'n') {
|
validargs: "y,n")
|
||||||
ant.fail('Aborting')
|
if (ant.properties['sanity-check-1'] == 'n') {
|
||||||
}
|
ant.fail('Aborting')
|
||||||
|
}
|
||||||
|
|
||||||
executeCmd("git status --short --branch")
|
executeCmd("git status --short --branch")
|
||||||
ant.input(message: "Above you see any local changes that are not in the remote branch.\n" +
|
ant.input(message: "Above you see any local changes that are not in the remote branch.\n" +
|
||||||
"If you have any local changes, please abort, get them merged, get the latest branch and try again.\n" +
|
"If you have any local changes, please abort, get them merged, get the latest branch and try again.\n" +
|
||||||
"Continue with packaging? (y=continue, n=abort)",
|
"Continue with packaging? (y=continue, n=abort)",
|
||||||
addproperty: "sanity-check-2",
|
addproperty: "sanity-check-2",
|
||||||
validargs: "y,n")
|
validargs: "y,n")
|
||||||
if (ant.properties['sanity-check-2'] == 'n') {
|
if (ant.properties['sanity-check-2'] == 'n') {
|
||||||
ant.fail('Aborting')
|
ant.fail('Aborting')
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO Evtl check programmatically in gradle (i.e. fail if below v11)
|
// TODO Evtl check programmatically in gradle (i.e. fail if below v11)
|
||||||
executeCmd("java --version")
|
executeCmd("java --version")
|
||||||
ant.input(message: "Above you see the installed java version, which will be used to compile and build Haveno.\n" +
|
ant.input(message: "Above you see the installed java version, which will be used to compile and build Haveno.\n" +
|
||||||
"Is this java version ok for that? (y=continue, n=abort)",
|
"Is this java version ok for that? (y=continue, n=abort)",
|
||||||
addproperty: "sanity-check-3",
|
addproperty: "sanity-check-3",
|
||||||
validargs: "y,n")
|
validargs: "y,n")
|
||||||
if (ant.properties['sanity-check-3'] == 'n') {
|
if (ant.properties['sanity-check-3'] == 'n') {
|
||||||
ant.fail('Aborting')
|
ant.fail('Aborting')
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
println "CI environment detected, skipping interactive sanity checks"
|
||||||
|
executeCmd("git --no-pager log -5 --oneline")
|
||||||
|
executeCmd("git status --short --branch")
|
||||||
|
executeCmd("java --version")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue