name: ACAB on: workflow_dispatch: push: branches: [ haveno-reto ] pull_request: branches: [ haveno-reto ] paths-ignore: - '**/README.md' jobs: build: strategy: matrix: os: [ubuntu-22.04] 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@v4 if: failure() with: name: error-reports-${{ matrix.os }} path: ${{ github.workspace }}/desktop/build/reports - name: cache nodes dependencies uses: actions/upload-artifact@v4 with: include-hidden-files: true name: cached-localnet path: .localnet - name: cache seednode jar uses: actions/upload-artifact@v4 with: name: cached-seednode-jar path: seednode/build/distributions - name: Install dependencies if: ${{ matrix.os == 'ubuntu-22.04' }} run: | sudo apt-get update sudo apt-get install -y rpm libfuse2 flatpak flatpak-builder appstream flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo - 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' }} 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: Move Release Files on Unix if: ${{ matrix.os == 'ubuntu-22.04' }} run: | mkdir ${{ github.workspace }}/release-linux-rpm mkdir ${{ github.workspace }}/release-linux-deb mkdir ${{ github.workspace }}/release-linux-flatpak mkdir ${{ github.workspace }}/release-linux-appimage mv desktop/build/temp-*/binaries/haveno-*.rpm ${{ github.workspace }}/release-linux-rpm/haveno-v${{ env.VERSION }}-linux-x86_64-installer.rpm mv desktop/build/temp-*/binaries/haveno_*.deb ${{ github.workspace }}/release-linux-deb/haveno-v${{ env.VERSION }}-linux-x86_64-installer.deb mv desktop/build/temp-*/binaries/*.flatpak ${{ github.workspace }}/release-linux-flatpak/haveno-v${{ env.VERSION }}-linux-x86_64.flatpak mv desktop/build/temp-*/binaries/haveno_*.AppImage ${{ github.workspace }}/release-linux-appimage/haveno-v${{ env.VERSION }}-linux-x86_64.AppImage cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-linux-deb cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-linux-rpm cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-linux-appimage cp desktop/build/temp-*/binaries/desktop-*.jar.SHA-256 ${{ github.workspace }}/release-linux-flatpak shell: bash # linux - uses: actions/upload-artifact@v4 name: "Linux - deb artifact" if: ${{ matrix.os == 'ubuntu-22.04' }} with: name: haveno-linux-deb path: ${{ github.workspace }}/release-linux-deb - uses: actions/upload-artifact@v4 name: "Linux - rpm artifact" if: ${{ matrix.os == 'ubuntu-22.04' }} with: name: haveno-linux-rpm path: ${{ github.workspace }}/release-linux-rpm - uses: actions/upload-artifact@v4 name: "Linux - AppImage artifact" if: ${{ matrix.os == 'ubuntu-22.04' }} with: name: haveno-linux-appimage path: ${{ github.workspace }}/release-linux-appimage - uses: actions/upload-artifact@v4 name: "Linux - flatpak artifact" if: ${{ matrix.os == 'ubuntu-22.04' }} with: name: haveno-linux-flatpak path: ${{ github.workspace }}/release-linux-flatpak