From 1b0cfadaf41cf815bd6293c9170dd50bdf1f3034 Mon Sep 17 00:00:00 2001 From: Abdelilah El Aissaoui Date: Tue, 24 Jan 2023 00:06:44 +0100 Subject: [PATCH] Reorganized CI tasks --- .github/workflows/build_with_tests.yml | 31 ++++++++++ .github/workflows/{linux.yml => release.yml} | 25 +++++--- .github/workflows/windows.yml | 64 -------------------- 3 files changed, 49 insertions(+), 71 deletions(-) create mode 100644 .github/workflows/build_with_tests.yml rename .github/workflows/{linux.yml => release.yml} (70%) delete mode 100644 .github/workflows/windows.yml diff --git a/.github/workflows/build_with_tests.yml b/.github/workflows/build_with_tests.yml new file mode 100644 index 0000000..122ec5d --- /dev/null +++ b/.github/workflows/build_with_tests.yml @@ -0,0 +1,31 @@ +# Workflow to run with every commit added to the main branch. +# NOTE: LibSSH is not built to avoid wasting CI minutes, as it takes quite some time. + +name: Test Build + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +permissions: + contents: read + +jobs: + ubuntu: + runs-on: [macos-latest, ubuntu-latest, windows-latest] + + steps: + - uses: actions/checkout@v3 + - 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: build +# TODO Add tests diff --git a/.github/workflows/linux.yml b/.github/workflows/release.yml similarity index 70% rename from .github/workflows/linux.yml rename to .github/workflows/release.yml index b531677..f5aac26 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/release.yml @@ -5,13 +5,12 @@ # 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: Linux Build +name: Release Build on: push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' permissions: contents: read @@ -19,18 +18,30 @@ permissions: jobs: build: - runs-on: ubuntu-latest + runs-on: windows-latest steps: - uses: actions/checkout@v3 + + - name: Check out my other private repo + uses: actions/checkout@master + with: + repository: Microsoft/vcpkg + - name: Get vcpkg + run: | + dir -Force + bootstrap-vcpkg.bat + - name: Install libssh + run: | + ls -a + ./vcpkg.exe install libssh + shell: bash - name: Set up JDK 17 uses: actions/setup-java@v3 with: java-version: '17' distribution: 'corretto' architecture: x64 - - name: Install libssh - run: sudo apt install libssh-dev - name: Build with Gradle uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 with: diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml deleted file mode 100644 index 97e5021..0000000 --- a/.github/workflows/windows.yml +++ /dev/null @@ -1,64 +0,0 @@ -# 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: Windows Build - -on: - push: - branches: [ "main", "actions" ] - pull_request: - branches: [ "main" ] - -permissions: - contents: read - -jobs: - build: - - runs-on: windows-latest - - steps: - - uses: actions/checkout@v3 - - - name: Check out VCPKG - uses: actions/checkout@master - with: - repository: Microsoft/vcpkg - path: vcpkg - - name: Install libssh - run: | - mkdir out - cd vcpkg - ls -a - pwd - bash bootstrap-vcpkg.sh - ./vcpkg.exe install libssh:x64-windows - cp installed/x64-windows/bin/* ../out - cd .. - shell: bash - - 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: createDistributable - - name: Copy gitnuro binaries - run: | - cp -r build/compose/binaries/main/app/Gitnuro/* out/ - shell: bash - - name: Copy all binaries - run: | - Compress-Archive out/* Gitnuro-Windows-Portable.zip - - name: upload windows artifact - uses: actions/upload-artifact@v1 - with: - name: Gitnuro-Windows-Portable - path: Gitnuro-Windows-Portable.zip \ No newline at end of file