diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 93a7ee2..3a3c1c8 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -7,8 +7,74 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: - fetch: - uses: ./.github/workflows/build_prepare.yaml + fetch: + uses: ./.github/workflows/build_prepare.yaml + with: + config: ${{ github.event.pull_request.base.ref == 'develop' && 'element.io/nightly' || 'element.io/release' }} + version: ${{ github.event.pull_request.base.ref == 'develop' && 'develop' || '' }} + + windows: + needs: fetch + name: Windows + uses: ./.github/workflows/build_windows.yaml + strategy: + matrix: + arch: [ x64, x86 ] + with: + arch: ${{ matrix.arch }} + + linux: + needs: fetch + name: Linux + uses: ./.github/workflows/build_linux.yaml + strategy: + matrix: + sqlcipher: [ system, static ] + with: + sqlcipher: ${{ matrix.sqlcipher }} + + macos: + needs: fetch + name: macOS + uses: ./.github/workflows/build_macos.yaml + + test: + needs: + - macos + - linux + - windows + strategy: + matrix: + include: + - name: macOS Universal + os: macos + artifact: macos + executable: "./dist/mac-universal/Element.app/Contents/MacOS/Element" + prepare_cmd: "find ./dist/mac-universal/Element.app -type f | perl -lne 'print if -B' | tr '\\n' '\\0' | xargs -0 -n1 chmod 755" + - name: 'Linux (sqlcipher: system)' + os: ubuntu + artifact: linux-sqlcipher-system + executable: "element-desktop" + prepare_cmd: "sudo apt install ./dist/*.deb" + - name: 'Linux (sqlcipher: static)' + os: ubuntu + artifact: linux-sqlcipher-static + executable: "element-desktop" + prepare_cmd: "sudo apt install ./dist/*.deb" + - name: Windows (x86) + os: windows + artifact: win-x86 + executable: "./dist/win-ia32-unpacked/Element.exe" + - name: Windows (x64) + os: windows + artifact: win-x64 + executable: "./dist/win-unpacked/Element.exe" + name: Test ${{ matrix.name }} + runs-on: ${{ matrix.os }}-latest + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-node@v3 with: config: ${{ github.event.pull_request.base.ref == 'develop' && 'element.io/nightly' || 'element.io/release' }} version: ${{ github.event.pull_request.base.ref == 'develop' && 'develop' || '' }}