From df684a0a94f44008fb49d7694962e8c6222d43a8 Mon Sep 17 00:00:00 2001 From: Abdelilah El Aissaoui Date: Mon, 2 Sep 2024 15:55:09 +0200 Subject: [PATCH] Added release CI build --- .github/workflows/release.yml | 119 +++++++++++++++++++++++++--------- 1 file changed, 90 insertions(+), 29 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8bc6995e..3b34eed6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,34 +1,55 @@ -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. -# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle - name: Release Build on: push: tags: - - 'v[0-9]+.[0-9]+.[0-9]+' - workflow_dispatch: - -permissions: - contents: read + - '**' jobs: + build_linux: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: nightly + - run: cargo install cargo-kotars --git https://github.com/JetpackDuba/kotars + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'corretto' + architecture: x64 + - name: Build with Gradle + uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 + with: + arguments: fatJarLinux + - name: Generate SHA256 Checksum + working-directory: ./build/libs + run: find . -type f -exec bash -c "sha256sum {} > {}.sum " \; + - name: Release + uses: softprops/action-gh-release@v2 + if: startsWith(github.ref, 'refs/tags/') + with: + body: "Beta release" + prerelease: true + repository: JetpackDuba/GitnuroTests + with: + files: | + build/libs/Gitnuro-linux-x86_64-*.jar + build/libs/Gitnuro-linux-x86_64-*.jar.sum + token: ${{ secrets.CUSTOM_GITHUB_TOKEN }} + build_windows: runs-on: windows-latest steps: + - name: Print Tag + run: echo ${{github.ref_name}} - uses: actions/checkout@v3 - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@stable with: - toolchain: stable - - uses: actions-rs/cargo@v1 - name: Rust build - with: - command: build - args: --manifest-path=./rs/Cargo.toml --release --features=uniffi/cli + toolchain: nightly + - run: cargo install cargo-kotars --git https://github.com/JetpackDuba/kotars - name: Set up JDK 17 uses: actions/setup-java@v3 with: @@ -39,19 +60,39 @@ jobs: uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 with: arguments: createDistributable + - name: Compile .ISS to .EXE Installer + uses: Minionguyjpro/Inno-Setup-Action@v1.2.2 + with: + path: gitnuro.iss + options: /O+ /DMyAppVersion="${{github.ref_name}}" + - name: Windows portable ZIP + run: Compress-Archive -Path build/compose/binaries/main/app/Gitnuro/* -Destination Output/Gitnuro_Windows_Portable_${{github.ref_name}}.zip + - name: Generate SHA256 Checksum + shell: bash + working-directory: ./Output/ + run: find -type f -exec bash -c "sha256sum {} > {}.sum " \; + - name: Release + uses: softprops/action-gh-release@v2 + if: startsWith(github.ref, 'refs/tags/') + with: + body: "Beta release" + prerelease: true + repository: JetpackDuba/GitnuroTests + with: + files: | + Output/Gitnuro*.exe + Output/Gitnuro*.sum + Output/Gitnuro*.zip + token: ${{ secrets.CUSTOM_GITHUB_TOKEN }} - build_linux: - runs-on: ubuntu-latest + build_macos: + runs-on: macos-latest steps: - uses: actions/checkout@v3 - - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - - uses: actions-rs/cargo@v1 - name: Rust build + - uses: dtolnay/rust-toolchain@stable with: - command: build - args: --manifest-path=./rs/Cargo.toml --release --features=uniffi/cli + toolchain: nightly + - run: cargo install cargo-kotars --git https://github.com/JetpackDuba/kotars - name: Set up JDK 17 uses: actions/setup-java@v3 with: @@ -61,4 +102,24 @@ jobs: - name: Build with Gradle uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 with: - arguments: fatJarLinux + arguments: createDistributable + - name: Create output directory + run: mkdir Output + - name: MacOS DMG + working-directory: build/compose/binaries/main/app/ + run: zip -r ../../../../../Output/Gitnuro_macos_${{github.ref_name}}.zip . + - name: Generate SHA256 Checksum + working-directory: ./Output/ + run: find . -type f -exec bash -c "shasum -a 256 {} > {}.sum " \; + - name: Release + uses: softprops/action-gh-release@v2 + if: startsWith(github.ref, 'refs/tags/') + with: + body: "Beta release" + prerelease: true + repository: JetpackDuba/GitnuroTests + with: + files: | + Output/Gitnuro*.zip + Output/Gitnuro*.sum + token: ${{ secrets.CUSTOM_GITHUB_TOKEN }} \ No newline at end of file