name: Release on: push: tags: - 'v*' permissions: contents: write jobs: release: name: Create Release runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Enable Corepack run: corepack enable - name: Install dependencies run: yarn install --immutable - name: Build web application run: yarn build:www - name: Create release archive run: | cd packages/apps/build tar -czvf ../../../pezkuwi-sdk-ui-${{ github.ref_name }}.tar.gz . - name: Create GitHub Release uses: softprops/action-gh-release@v1 with: files: pezkuwi-sdk-ui-${{ github.ref_name }}.tar.gz generate_release_notes: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-electron: name: Build Electron Apps runs-on: ${{ matrix.os }} needs: release strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Enable Corepack run: corepack enable - name: Install dependencies run: yarn install --immutable - name: Build Electron app run: yarn build:release:electron - name: Upload Electron artifacts uses: actions/upload-artifact@v4 with: name: electron-${{ matrix.os }} path: packages/apps-electron/release retention-days: 30