From cff553cbf78e3ddc676e7cdf758f0e1b013fd96f Mon Sep 17 00:00:00 2001 From: Thomas Belin Date: Thu, 29 Feb 2024 15:35:14 +0100 Subject: [PATCH 1/7] chore: Build desktop application with github actions --- .github/workflows/build.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000000..63dc3473bca --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,30 @@ +name: Build + +on: + push: + branches: [main, dev, staging] + pull_request: + +concurrency: + group: build-${{ github.ref }} + cancel-in-progress: true + +jobs: + lint: + runs-on: macos-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 16.x + cache: 'yarn' + + - name: Install JS dependencies + run: yarn --immutable + + - name: Lint + run: yarn build:macos From 8b248cf6e7906ae2f10404227f14e659d5b730e3 Mon Sep 17 00:00:00 2001 From: Thomas Belin Date: Thu, 29 Feb 2024 16:09:52 +0100 Subject: [PATCH 2/7] try with linux build --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 63dc3473bca..3a298730969 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,15 +10,15 @@ concurrency: cancel-in-progress: true jobs: - lint: - runs-on: macos-latest + build: + runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 16.x cache: 'yarn' @@ -27,4 +27,4 @@ jobs: run: yarn --immutable - name: Lint - run: yarn build:macos + run: yarn build:linux From 8eb53c804f2fc9a69ae465d744cca39f42957eda Mon Sep 17 00:00:00 2001 From: Thomas Belin Date: Thu, 29 Feb 2024 16:12:15 +0100 Subject: [PATCH 3/7] renaming --- .github/workflows/build_test.yml | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 366f6eed7b3..4224c43d217 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -1,4 +1,4 @@ -name: Build and Test +name: Test on: push: @@ -6,28 +6,29 @@ on: pull_request: branches: [main, staging, dev] +concurrency: + group: test-${{ github.ref }} + cancel-in-progress: true + jobs: build_test: - name: Build and Test + name: test runs-on: ubuntu-latest steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.12.1 - with: - access_token: ${{github.token}} - name: Checkout repository uses: actions/checkout@v4 - with: - fetch-depth: 2 - - name: Set up Node.js + + - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 14.x - - name: Yarn cache - uses: c-hive/gha-yarn-cache@v2.1.0 + node-version: 16.x + cache: 'yarn' + - name: Install dependencies run: yarn --immutable + - name: Use xvfb-run on Linux run: sed -i 's/\(electron-mocha \)/xvfb-run \1/g' package.json - - name: Test + + - name: test run: yarn test From 3c17390596963a7b73be30d2a7a8c763d00924f3 Mon Sep 17 00:00:00 2001 From: Thomas Belin Date: Thu, 29 Feb 2024 16:14:25 +0100 Subject: [PATCH 4/7] add all plateforms --- .github/workflows/build.yml | 42 +++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3a298730969..31e7778198b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ concurrency: cancel-in-progress: true jobs: - build: + build-linux: runs-on: ubuntu-latest steps: @@ -26,5 +26,43 @@ jobs: - name: Install JS dependencies run: yarn --immutable - - name: Lint + - name: build run: yarn build:linux + + build-windows: + runs-on: windows-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 16.x + cache: 'yarn' + + - name: Install JS dependencies + run: yarn --immutable + + - name: build + run: echo "TODO" + + build-macos: + runs-on: macos-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 16.x + cache: 'yarn' + + - name: Install JS dependencies + run: yarn --immutable + + - name: build + run: echo "TODO" From d5d2781dcb532b33d049a3dcd264c84a4f7b1bc1 Mon Sep 17 00:00:00 2001 From: Thomas Belin Date: Thu, 29 Feb 2024 16:19:49 +0100 Subject: [PATCH 5/7] upload artifact --- .github/workflows/build.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 31e7778198b..7a6284bff6d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,6 +29,12 @@ jobs: - name: build run: yarn build:linux + - name: upload-artifacts + uses: actions/upload-artifact@v2 + with: + name: linux-build + path: wrap/dist + build-windows: runs-on: windows-latest From b00d1140991053731a184c7f9725c5a572ba729b Mon Sep 17 00:00:00 2001 From: Thomas Belin Date: Thu, 29 Feb 2024 16:27:09 +0100 Subject: [PATCH 6/7] only upload package files --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7a6284bff6d..a0ee3f5613f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,7 +20,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 16.x + node-version: 20.x cache: 'yarn' - name: Install JS dependencies @@ -30,10 +30,10 @@ jobs: run: yarn build:linux - name: upload-artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: linux-build - path: wrap/dist + path: wrap/dist/Wire-* build-windows: runs-on: windows-latest @@ -45,7 +45,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 16.x + node-version: 20.x cache: 'yarn' - name: Install JS dependencies @@ -64,7 +64,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 16.x + node-version: 20.x cache: 'yarn' - name: Install JS dependencies From a77c6349fd6a4f6b8e118d9bc30ab692a91ef394 Mon Sep 17 00:00:00 2001 From: Thomas Belin Date: Thu, 29 Feb 2024 17:21:29 +0100 Subject: [PATCH 7/7] attempt macos build --- .github/workflows/build.yml | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a0ee3f5613f..65fc1de7948 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -58,6 +58,35 @@ jobs: runs-on: macos-latest steps: + - name: Install the Apple certificate and provisioning profile + env: + BUILD_CERTIFICATE_BASE64: ${{ secrets.MACOS_BUILD_CERT_P12 }} + P12_PASSWORD: ${{ secrets.MACOS_P12_PASSWORD }} + BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} + KEYCHAIN_PASSWORD: 'test' + run: | + # create variables + CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 + PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision + KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db + + # import certificate and provisioning profile from secrets + echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH + echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_PATH + + # create temporary keychain + security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + security set-keychain-settings -lut 21600 $KEYCHAIN_PATH + security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + + # import certificate to keychain + security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH + security list-keychain -d user -s $KEYCHAIN_PATH + + # apply provisioning profile + mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles + cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles + - name: Checkout uses: actions/checkout@v4 @@ -71,4 +100,10 @@ jobs: run: yarn --immutable - name: build - run: echo "TODO" + run: yarn build:macos:internal + + - name: upload-artifacts + uses: actions/upload-artifact@v4 + with: + name: macos-build + path: wrap/dist