mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-04-03 15:46:28 +00:00
* SMP proxy: low level client and server implementation * SMP proxy: server implementation (#1098) * wip * PRXY command * progress * SMP Proxy: client-level implementation (#1101) * buildable * encode messages * update pkey * fix queue types * wrap SEND in proxy lookup * WIP proxy client * WIP * post-rebase fixes * encode something with something * cleanup * update * fix nonce/corrId in batchingTests * WIP: dig into createSMPProxySession * agent * test progress * pass the test * parameterize transport handle with transport peer to include server certificate (#1100) * parameterize transport handle with transport peer to include server certificate * include server certificate into THandle * load server chain and sign key * fix key type * fix for 8.10 --------- Co-authored-by: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com> Co-authored-by: IC Rainbow <aenor.realm@gmail.com> * cleanup * add 2-server test * remove subsumed test * checkCredentials for BrokerMsg * skip batching tests * remove userId param * remove agent changes --------- Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com> --------- Co-authored-by: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com> * remove unused type * icrease test timeout * reduce transport block * envelope sizes * don't fork unless have proxied commands to process --------- Co-authored-by: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com> Co-authored-by: IC Rainbow <aenor.realm@gmail.com>
96 lines
2.8 KiB
YAML
96 lines
2.8 KiB
YAML
name: build
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- stable
|
|
tags:
|
|
- "v*"
|
|
pull_request:
|
|
|
|
jobs:
|
|
build:
|
|
name: build-${{ matrix.os }}-${{ matrix.ghc }}
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-20.04
|
|
platform_name: 20_04-x86-64
|
|
ghc: "8.10.7"
|
|
- os: ubuntu-20.04
|
|
platform_name: 20_04-x86-64
|
|
ghc: "9.6.3"
|
|
- os: ubuntu-22.04
|
|
platform_name: 22_04-x86-64
|
|
ghc: "9.6.3"
|
|
steps:
|
|
- name: Clone project
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Setup Haskell
|
|
uses: haskell-actions/setup@v2
|
|
with:
|
|
ghc-version: ${{ matrix.ghc }}
|
|
cabal-version: "3.10.1.0"
|
|
|
|
- name: Cache dependencies
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
~/.cabal/store
|
|
dist-newstyle
|
|
key: ${{ matrix.os }}-${{ hashFiles('cabal.project', 'simplexmq.cabal') }}
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: cabal build --enable-tests
|
|
|
|
- name: Test
|
|
timeout-minutes: 40
|
|
shell: bash
|
|
run: cabal test --test-show-details=direct
|
|
|
|
- name: Prepare binaries
|
|
if: startsWith(github.ref, 'refs/tags/v')
|
|
shell: bash
|
|
run: |
|
|
mv $(cabal list-bin smp-server) smp-server-ubuntu-${{ matrix.platform_name}}
|
|
mv $(cabal list-bin ntf-server) ntf-server-ubuntu-${{ matrix.platform_name}}
|
|
mv $(cabal list-bin xftp-server) xftp-server-ubuntu-${{ matrix.platform_name}}
|
|
mv $(cabal list-bin xftp) xftp-ubuntu-${{ matrix.platform_name}}
|
|
|
|
- name: Build changelog
|
|
if: startsWith(github.ref, 'refs/tags/v') && matrix.os == 'ubuntu-20.04'
|
|
id: build_changelog
|
|
uses: mikepenz/release-changelog-builder-action@v1
|
|
with:
|
|
configuration: .github/changelog_conf.json
|
|
failOnError: true
|
|
ignorePreReleases: true
|
|
commitMode: true
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Create release
|
|
if: startsWith(github.ref, 'refs/tags/v') && matrix.os == 'ubuntu-20.04' && matrix.ghc == '9.6.3'
|
|
uses: softprops/action-gh-release@v1
|
|
with:
|
|
body: |
|
|
See full changelog [here](https://github.com/simplex-chat/simplexmq/blob/master/CHANGELOG.md).
|
|
|
|
Commits:
|
|
${{ steps.build_changelog.outputs.changelog }}
|
|
prerelease: true
|
|
files: |
|
|
LICENSE
|
|
smp-server-ubuntu-${{ matrix.platform_name}}
|
|
ntf-server-ubuntu-${{ matrix.platform_name}}
|
|
xftp-server-ubuntu-${{ matrix.platform_name}}
|
|
xftp-ubuntu-${{ matrix.platform_name}}
|
|
fail_on_unmatched_files: true
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|