From 7da2ce362dbffc4f2e3bb92fe7e69af18efd7e73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20H=C3=A4ggblad?= Date: Tue, 31 Oct 2023 21:32:54 +0100 Subject: [PATCH] ci: create nightly-nym-connect-desktop-build --- .../workflows/ci-nym-connect-desktop-rust.yml | 12 +-- .../nightly-nym-connect-desktop-build.yml | 92 +++++++++++++++++++ 2 files changed, 98 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/nightly-nym-connect-desktop-build.yml diff --git a/.github/workflows/ci-nym-connect-desktop-rust.yml b/.github/workflows/ci-nym-connect-desktop-rust.yml index e5e56b8f43..77d5a0607b 100644 --- a/.github/workflows/ci-nym-connect-desktop-rust.yml +++ b/.github/workflows/ci-nym-connect-desktop-rust.yml @@ -33,6 +33,12 @@ jobs: override: true components: rustfmt, clippy + - name: Check formatting + uses: actions-rs/cargo@v1 + with: + command: fmt + args: --manifest-path nym-connect/desktop/Cargo.toml --all -- --check + - name: Build all binaries uses: actions-rs/cargo@v1 with: @@ -45,12 +51,6 @@ jobs: command: test args: --manifest-path nym-connect/desktop/Cargo.toml --workspace - - name: Check formatting - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --manifest-path nym-connect/desktop/Cargo.toml --all -- --check - - uses: actions-rs/clippy-check@v1 name: Clippy checks continue-on-error: true diff --git a/.github/workflows/nightly-nym-connect-desktop-build.yml b/.github/workflows/nightly-nym-connect-desktop-build.yml new file mode 100644 index 0000000000..a0705c6e1c --- /dev/null +++ b/.github/workflows/nightly-nym-connect-desktop-build.yml @@ -0,0 +1,92 @@ +name: nightly-nym-wallet-build + +on: + workflow_dispatch: + schedule: + - cron: '14 1 * * *' + +jobs: + build: + strategy: + fail-fast: false + matrix: + os: [ubuntu-20.04, macos-latest, windows10] + runs-on: ${{ matrix.os }} + env: + CARGO_TERM_COLOR: always + MANIFEST_PATH: --manifest-path nym-connect/desktop/Cargo.toml + continue-on-error: true + steps: + - name: Check out repository code + uses: actions/checkout@v3 + + - name: Install Dependencies (Linux) + run: sudo apt-get update && sudo apt-get install -y libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev squashfs-tools + if: matrix.os == 'ubuntu-20.04' + + - name: Install rust toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + components: rustfmt, clippy + + - name: Check formatting + uses: actions-rs/cargo@v1 + with: + command: fmt + args: ${{ env.MANIFEST_PATH }} --all -- --check + + - name: Build + uses: actions-rs/cargo@v1 + with: + command: build + args: ${{ env.MANIFEST_PATH }} --release --workspace + + - name: Unit tests + uses: actions-rs/cargo@v1 + with: + command: test + args: ${{ env.MANIFEST_PATH }} --workspace + + - name: Clippy + uses: actions-rs/cargo@v1 + with: + command: clippy + args: ${{ env.MANIFEST_PATH }} --workspace --all-targets -- -D warnings + + notification: + needs: build + runs-on: custom-linux + steps: + - name: Collect jobs status + uses: technote-space/workflow-conclusion-action@v2 + - name: Check out repository code + uses: actions/checkout@v3 + - name: install npm + uses: actions/setup-node@v3 + if: env.WORKFLOW_CONCLUSION == 'failure' + with: + node-version: 18 + - name: Matrix - Node Install + if: env.WORKFLOW_CONCLUSION == 'failure' + run: npm install + working-directory: .github/workflows/support-files + - name: Matrix - Send Notification + if: env.WORKFLOW_CONCLUSION == 'failure' + env: + NYM_NOTIFICATION_KIND: nightly + NYM_PROJECT_NAME: "nym-connect-desktop-nightly-build" + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + GIT_COMMIT_MESSAGE: "${{ github.event.head_commit.message }}" + GIT_BRANCH: "${GITHUB_REF##*/}" + IS_SUCCESS: "${{ env.WORKFLOW_CONCLUSION == 'success' }}" + MATRIX_SERVER: "${{ secrets.MATRIX_SERVER }}" + MATRIX_ROOM: "${{ secrets.MATRIX_ROOM_NIGHTLY }}" + MATRIX_USER_ID: "${{ secrets.MATRIX_USER_ID }}" + MATRIX_TOKEN: "${{ secrets.MATRIX_TOKEN }}" + MATRIX_DEVICE_ID: "${{ secrets.MATRIX_DEVICE_ID }}" + uses: docker://keybaseio/client:stable-node + with: + args: .github/workflows/support-files/notifications/entry_point.sh