nostrdb

an unfairly fast embedded nostr database backed by lmdb
git clone git://jb55.com/nostrdb
Log | Files | Refs | Submodules | README | LICENSE

weekly.yml (5716B)


      1 name: Weekly
      2 
      3 on:
      4   workflow_dispatch:
      5   schedule:
      6     - cron: '0 10 * * 1' # Mon 10.00 UTC
      7 
      8 env:
      9   CTEST_OUTPUT_ON_FAILURE: 1
     10 
     11 jobs:
     12   clang:
     13     name: Clang ${{ matrix.clang-version }}
     14     runs-on: ubuntu-20.04
     15     strategy:
     16       fail-fast: false
     17       matrix:
     18         clang-version: [5, 7, 9, 11, 13, 15]
     19     steps:
     20       - name: Setup Clang
     21         uses: aminya/setup-cpp@v1
     22         with:
     23           llvm: ${{ matrix.clang-version }}
     24       - uses: actions/checkout@v3
     25       - name: Build and run tests
     26         run: |
     27           scripts/initbuild.sh make-concurrent
     28           scripts/test.sh
     29 
     30   clang-32bit:
     31     name: Clang 32bit
     32     runs-on: ubuntu-20.04
     33     steps:
     34       - name: Prepare
     35         run: |
     36           sudo apt update
     37           sudo apt install gcc-multilib g++-multilib
     38       - uses: actions/checkout@v3
     39       - name: Build and run tests
     40         env:
     41           CC: clang
     42           CXX: clang++
     43         run: |
     44           scripts/initbuild.sh make-32bit
     45           scripts/test.sh
     46 
     47   gcc-old:
     48     name: GCC 4.4
     49     runs-on: ubuntu-20.04
     50     steps:
     51       - name: Setup GCC
     52         run: |
     53           wget http://launchpadlibrarian.net/336269522/libmpfr4_3.1.6-1_amd64.deb
     54           wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/gcc-4.4-base_4.4.7-8ubuntu1_amd64.deb
     55           wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/cpp-4.4_4.4.7-8ubuntu1_amd64.deb
     56           wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/gcc-4.4_4.4.7-8ubuntu1_amd64.deb
     57           wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/libstdc++6-4.4-dev_4.4.7-8ubuntu1_amd64.deb
     58           wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/g++-4.4_4.4.7-8ubuntu1_amd64.deb
     59           sudo dpkg -i ./libmpfr4_3.1.6-1_amd64.deb
     60           sudo dpkg -i ./gcc-4.4-base_4.4.7-8ubuntu1_amd64.deb
     61           sudo dpkg -i ./cpp-4.4_4.4.7-8ubuntu1_amd64.deb
     62           sudo dpkg -i ./gcc-4.4_4.4.7-8ubuntu1_amd64.deb
     63           sudo dpkg -i ./libstdc++6-4.4-dev_4.4.7-8ubuntu1_amd64.deb ./g++-4.4_4.4.7-8ubuntu1_amd64.deb
     64       - uses: actions/checkout@v3
     65       - name: Build and run tests
     66         env:
     67           CC: gcc-4.4
     68           CXX: g++-4.4
     69         run: |
     70           scripts/initbuild.sh make-concurrent
     71           scripts/test.sh
     72 
     73   gcc:
     74     name: GCC ${{ matrix.gcc-version }}
     75     runs-on: ubuntu-20.04
     76     strategy:
     77       fail-fast: false
     78       matrix:
     79         gcc-version: [7, 9, 11]
     80     steps:
     81       - name: Setup GCC
     82         uses: aminya/setup-cpp@v1
     83         with:
     84           gcc: ${{ matrix.gcc-version }}
     85       - uses: actions/checkout@v3
     86       - name: Build and run tests
     87         run: |
     88           scripts/initbuild.sh make-concurrent
     89           scripts/test.sh
     90 
     91   gcc-32bit:
     92     name: GCC 32bit
     93     runs-on: ubuntu-20.04
     94     steps:
     95       - name: Prepare
     96         run: |
     97           sudo apt update
     98           sudo apt install gcc-multilib g++-multilib
     99       - uses: actions/checkout@v3
    100       - name: Build and run tests
    101         run: |
    102           scripts/initbuild.sh make-32bit
    103           scripts/test.sh
    104 
    105   intel:
    106     name: Intel ${{ matrix.compiler }}
    107     runs-on: ubuntu-20.04
    108     strategy:
    109       fail-fast: false
    110       matrix:
    111         compiler: [icc, icx]
    112     steps:
    113       - name: Prepare
    114         run: |
    115           wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | \
    116             gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
    117           echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | \
    118             sudo tee /etc/apt/sources.list.d/oneAPI.list
    119           sudo apt update
    120           sudo apt install intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2021.4.0
    121       - name: Setup Intel oneAPI
    122         run: |
    123           source /opt/intel/oneapi/setvars.sh
    124           printenv >> $GITHUB_ENV
    125       - uses: actions/checkout@v3
    126       - name: Build and run tests
    127         env:
    128           CC: ${{ matrix.compiler }}
    129           CXX: ${{ matrix.compiler }}
    130         run: |
    131           scripts/initbuild.sh make-concurrent
    132           scripts/test.sh
    133 
    134   macos-clang:
    135     name: macOS Clang
    136     runs-on: macos-11
    137     steps:
    138       - uses: actions/checkout@v3
    139       - name: Build and run tests
    140         run: |
    141           scripts/initbuild.sh make-concurrent
    142           scripts/test.sh
    143 
    144   macos-gcc:
    145     name: macOS GCC ${{ matrix.gcc-version }}
    146     runs-on: macos-11
    147     strategy:
    148       fail-fast: false
    149       matrix:
    150         gcc-version: [9, 12]
    151     steps:
    152       - uses: actions/checkout@v3
    153       - name: Prepare
    154         run: |
    155           brew install gcc@${{ matrix.gcc-version }}
    156       - name: Build and run tests
    157         env:
    158           CC: gcc-${{ matrix.gcc-version }}
    159           CXX: g++-${{ matrix.gcc-version }}
    160         run: |
    161           scripts/initbuild.sh make-concurrent
    162           scripts/test.sh
    163 
    164   windows:
    165     name: Windows Visual Studio ${{ matrix.version }}
    166     runs-on: windows-${{ matrix.version }}
    167     strategy:
    168       fail-fast: false
    169       matrix:
    170         version: [2019, 2022]
    171     steps:
    172       - uses: microsoft/setup-msbuild@v1.1
    173       - uses: actions/checkout@v3
    174       - name: Build and run tests
    175         run: |
    176           cmake .
    177           msbuild FlatCC.sln /m /property:Configuration=Release
    178           ctest -VV
    179 
    180   cmake-minimum-required:
    181     name: CMake 2.8.12 (min. required)
    182     runs-on: ubuntu-20.04
    183     steps:
    184       - name: Setup cmake
    185         uses: jwlawson/actions-setup-cmake@v1
    186         with:
    187           cmake-version: 2.8.12
    188       - uses: actions/checkout@v3
    189       - name: Build and run tests
    190         run: |
    191           cmake --version
    192           scripts/initbuild.sh make-concurrent
    193           scripts/test.sh