From 7f82907a203ce6632e68ac475fd3b722e76bd100 Mon Sep 17 00:00:00 2001 From: Geoffrey Bonneville Date: Wed, 22 Nov 2023 17:54:54 +0100 Subject: [PATCH] Refactor github workflows --- .github/workflows/build-android.yaml | 37 ------------ .github/workflows/build.yaml | 85 ++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 37 deletions(-) delete mode 100644 .github/workflows/build-android.yaml create mode 100644 .github/workflows/build.yaml diff --git a/.github/workflows/build-android.yaml b/.github/workflows/build-android.yaml deleted file mode 100644 index ba39bb27..00000000 --- a/.github/workflows/build-android.yaml +++ /dev/null @@ -1,37 +0,0 @@ -name: Build Android - -on: - workflow_dispatch: - push: - # push: - # tags: - # - v* - -jobs: - build: - runs-on: ubuntu-latest - name: Build android - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: 18.x - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - name: Setup Android SDK - uses: android-actions/setup-android@v3 - - name: Setup EAS - uses: expo/expo-github-action@v8 - with: - eas-version: latest - token: ${{ secrets.EXPO_TOKEN }} - - name: Install - run: npm ci - - name: Build - run: npm -w @pikatorrent/app run build:android:production diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 00000000..3d8f53c0 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,85 @@ +name: Build + +on: + push: + pull_request: + +jobs: + desktop: + name: ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + arch: [x64] + + # permissions: + # contents: write + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 18.x + + # Windows: Create dev cert for .appx package + - name: Create dev cert + run: | + $cert = New-SelfSignedCertificate -Subject "CN=9FB02A40-50B6-49F9-92D4-AA9DC9AC1AAB" -TextExtension "2.5.29.37={text}1.3.6.1.5.5.7.3.3" -CertStoreLocation cert:\CurrentUser\My + $pwd = ConvertTo-SecureString -String "password" -Force -AsPlainText + Export-PfxCertificate -Cert $cert -FilePath apps/desktop/assets/appx/cert.pfx -Password $pwd + if: ${{ matrix.os == 'windows-latest' }} + + - name: Install + run: npm ci + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + path: "apps/desktop/out/make/**/*" + + # on tags v* + # - name: Publish + # run: npm -w @pikatorrent/desktop run publish + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + android: + name: Android + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 18.x + + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: "17" + distribution: "temurin" + + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + + - name: Setup EAS + uses: expo/expo-github-action@v8 + with: + eas-version: latest + token: ${{ secrets.EXPO_TOKEN }} + + - name: Install + run: npm ci + + - name: Build preview (.apk) + run: npm -w @pikatorrent/app run build:android:production + + # on tags v* + # - name: Build production (.aab) + # run: npm -w @pikatorrent/app run build:android:production