Adding second device #6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Build deltachat-rpc-server from branch desktop-core-2.15.0 (Privitty/core) and publish to npm as @privitty/deltachat-rpc-server | |
| name: Publish @privitty/deltachat-rpc-server | |
| concurrency: | |
| group: publish-privitty-rpc-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| branches: [desktop-core-2.15.0] | |
| workflow_dispatch: | |
| inputs: | |
| branch: | |
| description: "Branch to build from" | |
| required: false | |
| default: "desktop-core-2.15.0" | |
| permissions: {} | |
| jobs: | |
| build_linux: | |
| name: Linux | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| arch: [aarch64, armv7l, armv6l, i686, x86_64] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ github.event.inputs.branch || github.ref }} | |
| show-progress: false | |
| persist-credentials: false | |
| - uses: DeterminateSystems/nix-installer-action@main | |
| - name: Build deltachat-rpc-server binaries | |
| run: nix build .#deltachat-rpc-server-${{ matrix.arch }}-linux | |
| - name: Upload binary | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: deltachat-rpc-server-${{ matrix.arch }}-linux | |
| path: result/bin/deltachat-rpc-server | |
| if-no-files-found: error | |
| build_windows: | |
| name: Windows | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| arch: [win32, win64] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ github.event.inputs.branch || github.ref }} | |
| show-progress: false | |
| persist-credentials: false | |
| - uses: DeterminateSystems/nix-installer-action@main | |
| - name: Build deltachat-rpc-server binaries | |
| run: nix build .#deltachat-rpc-server-${{ matrix.arch }} | |
| - name: Upload binary | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: deltachat-rpc-server-${{ matrix.arch }} | |
| path: result/bin/deltachat-rpc-server.exe | |
| if-no-files-found: error | |
| build_macos: | |
| name: macOS | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| arch: [x86_64, aarch64] | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ github.event.inputs.branch || github.ref }} | |
| show-progress: false | |
| persist-credentials: false | |
| - name: Setup rust target | |
| run: rustup target add ${{ matrix.arch }}-apple-darwin | |
| - name: Build | |
| run: cargo build --release --package deltachat-rpc-server --target ${{ matrix.arch }}-apple-darwin --features vendored | |
| - name: Upload binary | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: deltachat-rpc-server-${{ matrix.arch }}-macos | |
| path: target/${{ matrix.arch }}-apple-darwin/release/deltachat-rpc-server | |
| if-no-files-found: error | |
| publish_npm: | |
| name: Pack and publish @privitty/deltachat-rpc-server | |
| needs: [build_linux, build_windows, build_macos] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ github.event.inputs.branch || github.ref }} | |
| show-progress: false | |
| persist-credentials: false | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Download Linux binaries | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: deltachat-rpc-server-aarch64-linux | |
| path: deltachat-rpc-server-aarch64-linux.d | |
| - name: Download Linux armv7l | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: deltachat-rpc-server-armv7l-linux | |
| path: deltachat-rpc-server-armv7l-linux.d | |
| - name: Download Linux armv6l | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: deltachat-rpc-server-armv6l-linux | |
| path: deltachat-rpc-server-armv6l-linux.d | |
| - name: Download Linux i686 | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: deltachat-rpc-server-i686-linux | |
| path: deltachat-rpc-server-i686-linux.d | |
| - name: Download Linux x86_64 | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: deltachat-rpc-server-x86_64-linux | |
| path: deltachat-rpc-server-x86_64-linux.d | |
| - name: Download Win32 | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: deltachat-rpc-server-win32 | |
| path: deltachat-rpc-server-win32.d | |
| - name: Download Win64 | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: deltachat-rpc-server-win64 | |
| path: deltachat-rpc-server-win64.d | |
| - name: Download macOS x86_64 | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: deltachat-rpc-server-x86_64-macos | |
| path: deltachat-rpc-server-x86_64-macos.d | |
| - name: Download macOS aarch64 | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: deltachat-rpc-server-aarch64-macos | |
| path: deltachat-rpc-server-aarch64-macos.d | |
| - name: Make npm packages for @privitty/deltachat-rpc-server | |
| run: | | |
| cd deltachat-rpc-server/npm-package-privitty | |
| python scripts/pack_binary_for_platform.py aarch64-unknown-linux-musl ../../deltachat-rpc-server-aarch64-linux.d/deltachat-rpc-server | |
| python scripts/pack_binary_for_platform.py armv7-unknown-linux-musleabihf ../../deltachat-rpc-server-armv7l-linux.d/deltachat-rpc-server | |
| python scripts/pack_binary_for_platform.py arm-unknown-linux-musleabihf ../../deltachat-rpc-server-armv6l-linux.d/deltachat-rpc-server | |
| python scripts/pack_binary_for_platform.py i686-unknown-linux-musl ../../deltachat-rpc-server-i686-linux.d/deltachat-rpc-server | |
| python scripts/pack_binary_for_platform.py x86_64-unknown-linux-musl ../../deltachat-rpc-server-x86_64-linux.d/deltachat-rpc-server | |
| python scripts/pack_binary_for_platform.py i686-pc-windows-gnu ../../deltachat-rpc-server-win32.d/deltachat-rpc-server.exe | |
| python scripts/pack_binary_for_platform.py x86_64-pc-windows-gnu ../../deltachat-rpc-server-win64.d/deltachat-rpc-server.exe | |
| python scripts/pack_binary_for_platform.py x86_64-apple-darwin ../../deltachat-rpc-server-x86_64-macos.d/deltachat-rpc-server | |
| python scripts/pack_binary_for_platform.py aarch64-apple-darwin ../../deltachat-rpc-server-aarch64-macos.d/deltachat-rpc-server | |
| ls -la platform_package | |
| for platform in ./platform_package/*; do npm pack "$platform"; done | |
| npm pack | |
| ls -la *.tgz | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| registry-url: "https://registry.npmjs.org" | |
| - name: Publish @privitty/deltachat-rpc-server to npm | |
| working-directory: deltachat-rpc-server/npm-package-privitty | |
| run: | | |
| for f in *.tgz; do npm publish --provenance "$f" --access public; done | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |