# This script will build binaries and publish a draft on github release page with the the tag v[package-version]
name: Session Draft Release

on:
  push:
    branches:
      - master

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [windows-2022, macos-11, ubuntu-20.04]
    env:
      SIGNAL_ENV: production
      GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    steps:
      - run: git config --global core.autocrlf false

      - name: Checkout git repo
        uses: actions/checkout@v3

      - uses: ./actions/setup_and_build

      - name: Build windows production binaries
        if: runner.os == 'Windows'
        run: node_modules\.bin\electron-builder --config.extraMetadata.environment=%SIGNAL_ENV% --publish=always

      - name: Build mac production binaries
        if: runner.os == 'macOS'
        run: |
          source ./build/setup-mac-certificate.sh
          $(yarn bin)/electron-builder --config.extraMetadata.environment=$SIGNAL_ENV --config.mac.bundleVersion=${{ github.ref }} --publish=always
        env:
          MAC_CERTIFICATE: ${{ secrets.MAC_CERTIFICATE }}
          MAC_CERTIFICATE_PASSWORD: ${{ secrets.MAC_CERTIFICATE_PASSWORD }}
          SIGNING_APPLE_ID: ${{ secrets.SIGNING_APPLE_ID }}
          SIGNING_APP_PASSWORD: ${{ secrets.SIGNING_APP_PASSWORD }}
          SIGNING_TEAM_ID: ${{ secrets.SIGNING_TEAM_ID }}

      - name: Build linux production binaries
        if: runner.os == 'Linux'
        run: |
          sudo apt-get install -y rpm
          yarn build-release-publish
