Skip to content

remove trust points #869

remove trust points

remove trust points #869

Workflow file for this run

name: Release
on:
push:
branches: [ RC_2_1, master ]
tags:
- 'v[0-9]*.[0-9]*.[0-9]*'
pull_request:
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}
cancel-in-progress: true
jobs:
dist:
name: Build source package
runs-on: ubuntu-24.04
steps:
- name: checkout
uses: actions/checkout@v6
with:
fetch-depth: 1
filter: tree:0
submodules: recursive
- name: patch libdatachannel (windows 32/64-bit builds)
run: git apply ../patch-libdatachannel-32bit-builds.patch
working-directory: deps/libdatachannel
- name: update package lists
continue-on-error: true
timeout-minutes: 5
run: |
sudo DEBIAN_FRONTEND=noninteractive apt-get -o Acquire::Retries=3 -o Acquire::http::Timeout=10 -o Acquire::https::Timeout=10 update
- uses: Chocobo1/setup-ccache-action@v1
with:
update_packager_index: false
override_cache_key: ccache-linux-dist-${{ github.base_ref || github.ref_name }}
ccache_options: |
max_size=15G
- name: install dependencies
run: |
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y python3-docutils python3-pygments python3-pil gsfonts inkscape icoutils graphviz hunspell imagemagick rsync
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libboost-tools-dev libboost-python-dev libboost-dev libboost-system-dev libboost-json-dev python3-setuptools
python3 -m pip install aafigure
python3 -m pip install websockets
echo "using gcc ;" >>~/user-config.jam
- name: verify version matches tag
if: startsWith(github.ref, 'refs/tags/')
run: |
TAG_VERSION="${GITHUB_REF_NAME#v}"
TAG_VERSION="${TAG_VERSION%%-*}"
MAKEFILE_VERSION="$(grep '^VERSION=' Makefile | cut -d= -f2)"
if [ "$TAG_VERSION" != "$MAKEFILE_VERSION" ]; then
echo "error: tag version (${TAG_VERSION}) does not match Makefile VERSION (${MAKEFILE_VERSION})"
exit 1
fi
- name: build docs and source package
run: AAFIGURE=~/.local/bin/aafigure RST2HTML=rst2html make dist
- uses: actions/upload-artifact@v7
with:
name: tarball
path: libtorrent-rasterbar-*.tar.gz
- name: test-tarball (b2 install)
run: |
tar xvzf libtorrent-rasterbar-*.tar.gz
cd libtorrent-rasterbar-*/
b2 install --prefix=test-install-root
cat test-install-root/lib/pkgconfig/libtorrent-rasterbar.pc
- name: test-tarball (installed headers are self-sufficient)
run: |
cd libtorrent-rasterbar-*/
./tools/check_installed_headers.py test-install-root
- name: test-tarball (b2 tests)
run: |
cd libtorrent-rasterbar-*/test
b2 testing.execute=off
b2 test_torrent_info
- name: test-tarball (b2 build tools)
run: |
cd libtorrent-rasterbar-*/tools
b2
- name: test-tarball (b2 build examples)
run: |
cd libtorrent-rasterbar-*/examples
b2
- name: test-tarball (python bindings)
run: |
cd libtorrent-rasterbar-*/bindings/python/
python3 setup.py build
- name: test-tarball (cmake configure and build)
env:
# required by deps/libdatachannel's own deps (usrsctp, plog), which
# declare cmake_minimum_required versions older than modern cmake allows
CMAKE_POLICY_VERSION_MINIMUM: 3.5
run: |
cd libtorrent-rasterbar-*/
cmake -B build-cmake -DCMAKE_BUILD_TYPE=Debug -Dbuild_tests=ON -Dbuild_examples=ON -Dbuild_tools=ON -Dwebtorrent=on
cmake --build build-cmake
- name: test-tarball (ctest)
run: |
cd libtorrent-rasterbar-*/build-cmake
ctest --output-on-failure
upload:
name: Upload release asset
needs: dist
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-24.04
permissions:
contents: write
steps:
- uses: actions/download-artifact@v8
with:
name: tarball
path: dist
- name: upload release asset
env:
GH_TOKEN: ${{ github.token }}
run: |
cd dist
gh release upload "$GITHUB_REF_NAME" libtorrent-rasterbar-*.tar.gz --clobber --repo "$GITHUB_REPOSITORY"