diff --git a/.github/workflows/build-for-me.yml b/.github/workflows/build-for-me.yml new file mode 100644 index 00000000..7741f9e6 --- /dev/null +++ b/.github/workflows/build-for-me.yml @@ -0,0 +1,109 @@ +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