mirror of
https://github.com/boldsuck/haveno.git
synced 2024-12-23 04:29:22 +00:00
128 lines
5.2 KiB
YAML
128 lines
5.2 KiB
YAML
name: CI
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
pull_request:
|
|
paths-ignore:
|
|
- '**/README.md'
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-22.04, macos-13, windows-latest]
|
|
fail-fast: false
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
lfs: true
|
|
- name: Set up JDK 21
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
java-version: '21'
|
|
distribution: 'adopt'
|
|
cache: gradle
|
|
- name: Build with Gradle
|
|
run: ./gradlew build --stacktrace --scan
|
|
- uses: actions/upload-artifact@v3
|
|
if: failure()
|
|
with:
|
|
name: error-reports-${{ matrix.os }}
|
|
path: ${{ github.workspace }}/desktop/build/reports
|
|
- name: cache nodes dependencies
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: cached-localnet
|
|
path: .localnet
|
|
- name: Install dependencies
|
|
if: ${{ matrix.os == 'ubuntu-22.04' }}
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install -y rpm fuse
|
|
- name: Install WiX Toolset
|
|
if: ${{ matrix.os == 'windows-latest' }}
|
|
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
|
|
run: |
|
|
./gradlew clean build --refresh-keys --refresh-dependencies
|
|
./gradlew packageInstallers
|
|
working-directory: .
|
|
|
|
# get version from jar
|
|
- name: Set Version Unix
|
|
if: ${{ matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-13' }}
|
|
run: |
|
|
export VERSION=$(ls desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 | grep -Eo 'desktop-[0-9]+\.[0-9]+\.[0-9]+' | sed 's/desktop-//')
|
|
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
|
- name: Set Version Windows
|
|
if: ${{ matrix.os == 'windows-latest' }}
|
|
run: |
|
|
$VERSION = (Get-ChildItem -Path desktop\build\temp-*/binaries\desktop-*.jar.SHA-256).Name -replace 'desktop-', '' -replace '-.*', ''
|
|
"VERSION=$VERSION" | Out-File -FilePath $env:GITHUB_ENV -Append
|
|
shell: powershell
|
|
|
|
- name: Move Release Files on Unix
|
|
if: ${{ matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-13' }}
|
|
run: |
|
|
mkdir ${{ github.workspace }}/release
|
|
if [ "${{ matrix.os }}" == "ubuntu-22.04" ]; then
|
|
mkdir ${{ github.workspace }}/release-rpm
|
|
mkdir ${{ github.workspace }}/release-deb
|
|
mkdir ${{ github.workspace }}/release-appimage
|
|
mv desktop/build/temp-*/binaries/haveno-*.rpm ${{ github.workspace }}/release-rpm/Haveno-${{ env.VERSION }}-linux-x86_64-installer.rpm
|
|
mv desktop/build/temp-*/binaries/haveno_*.deb ${{ github.workspace }}/release-deb/Haveno-${{ env.VERSION }}-linux-x86_64-installer.deb
|
|
mv desktop/build/temp-*/binaries/haveno_*.AppImage ${{ github.workspace }}/release-appimage/Haveno-${{ env.VERSION }}-linux-x86_64.AppImage
|
|
else
|
|
mv desktop/build/temp-*/binaries/Haveno-*.dmg ${{ github.workspace }}/release/Haveno-${{ env.VERSION }}-mac-installer.dmg
|
|
fi
|
|
cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release
|
|
cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-deb
|
|
cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-rpm
|
|
cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-appimage
|
|
shell: bash
|
|
- name: Move Release Files on Windows
|
|
if: ${{ matrix.os == 'windows-latest' }}
|
|
run: |
|
|
mkdir ${{ github.workspace }}/release
|
|
Move-Item -Path desktop\build\temp-*/binaries\Haveno-*.exe -Destination ${{ github.workspace }}/release/Haveno-${{ env.VERSION }}-windows-installer.exe
|
|
Move-Item -Path desktop\build\temp-*/binaries\desktop-*.jar.SHA-256 -Destination ${{ github.workspace }}/release
|
|
shell: powershell
|
|
|
|
# win
|
|
- uses: actions/upload-artifact@v3
|
|
name: "Windows artifacts"
|
|
if: ${{ matrix.os == 'windows-latest'}}
|
|
with:
|
|
name: haveno-windows
|
|
path: ${{ github.workspace }}/release
|
|
# macos
|
|
- uses: actions/upload-artifact@v3
|
|
name: "macOS artifacts"
|
|
if: ${{ matrix.os == 'macos-13' }}
|
|
with:
|
|
name: haveno-macos
|
|
path: ${{ github.workspace }}/release
|
|
# linux
|
|
- uses: actions/upload-artifact@v3
|
|
name: "Linux - deb artifact"
|
|
if: ${{ matrix.os == 'ubuntu-22.04' }}
|
|
with:
|
|
name: haveno-linux-deb
|
|
path: ${{ github.workspace }}/release-deb
|
|
- uses: actions/upload-artifact@v3
|
|
name: "Linux - rpm artifact"
|
|
if: ${{ matrix.os == 'ubuntu-22.04' }}
|
|
with:
|
|
name: haveno-linux-rpm
|
|
path: ${{ github.workspace }}/release-rpm
|
|
- uses: actions/upload-artifact@v3
|
|
name: "Linux - AppImage artifact"
|
|
if: ${{ matrix.os == 'ubuntu-22.04' }}
|
|
with:
|
|
name: haveno-linux-appimage
|
|
path: ${{ github.workspace }}/release-appimage
|