mirror of
https://github.com/asdlokj1qpi233/subconverter.git
synced 2025-10-28 12:22:37 +00:00
Compare commits
14 Commits
638137e1db
...
docker-tes
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
60ce85172b | ||
|
|
38314a778b | ||
|
|
46f36769bd | ||
|
|
5c6e7209a6 | ||
|
|
4dd81f9f02 | ||
|
|
1ea1be7eda | ||
|
|
e504eeb938 | ||
|
|
eb79327497 | ||
|
|
012c4621be | ||
|
|
4f39c5e4c7 | ||
|
|
c7037c1a81 | ||
|
|
8f54f38073 | ||
|
|
64a9e7e091 | ||
|
|
ea47217b82 |
42
.github/workflows/build.yml
vendored
Normal file
42
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
name: Github CI
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
linux32_build:
|
||||
name: Linux x86 Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: docker run --rm -v $GITHUB_WORKSPACE:/root/workdir multiarch/alpine:x86-edge /bin/sh -c "apk add bash git && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh"
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: subconverter_linux32
|
||||
path: subconverter/
|
||||
|
||||
linux64_build:
|
||||
name: Linux x86_64 Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: docker run -v $GITHUB_WORKSPACE:/root/workdir multiarch/alpine:amd64-edge /bin/sh -c "apk add bash git && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh"
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: subconverter_linux64
|
||||
path: subconverter/
|
||||
|
||||
macos_build:
|
||||
name: macOS Build
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: bash scripts/build.macos.release.sh
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: subconverter_darwin64
|
||||
path: subconverter/
|
||||
19
.travis.yml
19
.travis.yml
@@ -13,6 +13,7 @@ jobs:
|
||||
osx_image: xcode10.3
|
||||
script:
|
||||
- bash scripts/build.macos.release.sh
|
||||
- tar czf subconverter_darwin64.tar.gz subconverter
|
||||
deploy:
|
||||
provider: releases
|
||||
token: "$GITHUB_OAUTH_TOKEN"
|
||||
@@ -25,8 +26,7 @@ jobs:
|
||||
services: docker
|
||||
script:
|
||||
- docker run --rm -v $TRAVIS_BUILD_DIR:/root/workdir multiarch/alpine:x86-edge /bin/sh -c "apk add bash git && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh"
|
||||
before_deploy:
|
||||
- mv subconverter_linux64.tar.gz subconverter_linux32.tar.gz
|
||||
- tar czf subconverter_linux32.tar.gz subconverter/
|
||||
deploy:
|
||||
provider: releases
|
||||
token: "$GITHUB_OAUTH_TOKEN"
|
||||
@@ -38,7 +38,8 @@ jobs:
|
||||
- name: "Linux x86_64 Build"
|
||||
services: docker
|
||||
script:
|
||||
- docker run -v $TRAVIS_BUILD_DIR:/root/workdir alpine:latest /bin/sh -c "apk add bash git && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh"
|
||||
- docker run -v $TRAVIS_BUILD_DIR:/root/workdir multiarch/alpine:amd64-edge /bin/sh -c "apk add bash git && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh"
|
||||
- tar czf subconverter_linux64.tar.gz subconverter/
|
||||
deploy:
|
||||
provider: releases
|
||||
token: "$GITHUB_OAUTH_TOKEN"
|
||||
@@ -49,11 +50,10 @@ jobs:
|
||||
tags: true
|
||||
- name: "Linux ARMHF Build"
|
||||
services: docker
|
||||
arch: arm64
|
||||
script:
|
||||
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
- docker run --rm -v $TRAVIS_BUILD_DIR:/root/workdir multiarch/alpine:armhf-edge /bin/sh -c "apk add bash git && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh"
|
||||
before_deploy:
|
||||
- mv subconverter_linux64.tar.gz subconverter_armhf.tar.gz
|
||||
- tar czf subconverter_armhf.tar.gz subconverter/
|
||||
deploy:
|
||||
provider: releases
|
||||
token: "$GITHUB_OAUTH_TOKEN"
|
||||
@@ -66,9 +66,8 @@ jobs:
|
||||
services: docker
|
||||
arch: arm64
|
||||
script:
|
||||
- docker run -v $TRAVIS_BUILD_DIR:/root/workdir alpine:latest /bin/sh -c "apk add bash git && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh"
|
||||
before_deploy:
|
||||
- mv subconverter_linux64.tar.gz subconverter_aarch64.tar.gz
|
||||
- docker run -v $TRAVIS_BUILD_DIR:/root/workdir multiarch/alpine:aarch64-edge /bin/sh -c "apk add bash git && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh"
|
||||
- tar czf subconverter_aarch64.tar.gz subconverter/
|
||||
deploy:
|
||||
provider: releases
|
||||
token: "$GITHUB_OAUTH_TOKEN"
|
||||
@@ -76,4 +75,4 @@ jobs:
|
||||
skip_cleanup: true
|
||||
draft: true
|
||||
on:
|
||||
tags: true
|
||||
tags: true
|
||||
|
||||
22
scripts/Dockerfile.aarch64
Normal file
22
scripts/Dockerfile.aarch64
Normal file
@@ -0,0 +1,22 @@
|
||||
FROM arm64v8/alpine:latest
|
||||
MAINTAINER Tindy X <tindy.it@gmail.com>
|
||||
|
||||
COPY qemu-aarch64-static /usr/bin
|
||||
|
||||
# build minimized
|
||||
RUN apk add git g++ build-base linux-headers cmake && \
|
||||
apk add libressl-dev curl-dev rapidjson-dev libevent-dev pcre2-dev yaml-cpp-dev && \
|
||||
git clone https://github.com/tindy2013/subconverter && \
|
||||
cd subconverter && \
|
||||
cmake . && \
|
||||
make -j4 && \
|
||||
mv subconverter base/ && \
|
||||
mv base ../ && \
|
||||
cd .. && \
|
||||
rm -rf subconverter && \
|
||||
apk add pcre2 libcurl yaml-cpp libevent libpcrecpp && \
|
||||
apk del git gcc g++ build-base linux-headers cmake libressl-dev curl-dev rapidjson-dev libevent-dev pcre2-dev yaml-cpp-dev
|
||||
|
||||
# set entry
|
||||
WORKDIR /base
|
||||
CMD ./subconverter
|
||||
@@ -1,5 +1,4 @@
|
||||
#!/bin/bash
|
||||
mkdir obj
|
||||
set -xe
|
||||
|
||||
apk add gcc g++ build-base linux-headers cmake make autoconf automake libtool
|
||||
@@ -13,10 +12,11 @@ cd ..
|
||||
|
||||
cmake .
|
||||
make -j2
|
||||
rm subconverter
|
||||
g++ -o base/subconverter CMakeFiles/subconverter.dir/src/*.o -static -lpcre2-8 -levent -lyaml-cpp -lcurl -lnghttp2 -lssl -lcrypto -lz -lbz2 -ldl -lpthread -O3 -s
|
||||
|
||||
cd base
|
||||
chmod +rx subconverter
|
||||
chmod +r *
|
||||
|
||||
tar czf ../subconverter_linux64.tar.gz *
|
||||
cd ..
|
||||
mv base subconverter
|
||||
|
||||
@@ -1,34 +1,42 @@
|
||||
#!/bin/bash
|
||||
mkdir obj
|
||||
set -xe
|
||||
|
||||
brew reinstall yaml-cpp rapidjson libevent zlib pcre2 bzip2 pkgconfig
|
||||
brew reinstall rapidjson libevent zlib pcre2 bzip2 libssh2 pkgconfig
|
||||
|
||||
git clone https://github.com/curl/curl
|
||||
cd curl
|
||||
./buildconf > /dev/null
|
||||
./configure --with-ssl=/usr/local/opt/openssl@1.1 --without-mbedtls --disable-ldap --disable-ldaps --disable-rtsp --without-libidn2 > /dev/null
|
||||
#./buildconf > /dev/null
|
||||
#./configure --with-ssl=/usr/local/opt/openssl@1.1 --without-mbedtls --disable-ldap --disable-ldaps --disable-rtsp --without-libidn2 > /dev/null
|
||||
cmake -DHTTP_ONLY=ON -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1 . > /dev/null
|
||||
make -j8 > /dev/null
|
||||
cd ..
|
||||
|
||||
cp curl/lib/.libs/libcurl.a .
|
||||
git clone https://github.com/jbeder/yaml-cpp
|
||||
cd yaml-cpp
|
||||
cmake -DYAML_CPP_BUILD_TESTS=OFF -DYAML_CPP_BUILD_TOOLS=OFF . > /dev/null
|
||||
make install -j8 > /dev/null
|
||||
cd ..
|
||||
|
||||
cp curl/lib/libcurl.a .
|
||||
cp yaml-cpp/libyaml-cpp.a .
|
||||
cp /usr/local/lib/libevent.a .
|
||||
cp /usr/local/opt/zlib/lib/libz.a .
|
||||
cp /usr/local/opt/openssl@1.1/lib/libssl.a .
|
||||
cp /usr/local/opt/openssl@1.1/lib/libcrypto.a .
|
||||
cp /usr/local/lib/libyaml-cpp.a .
|
||||
cp /usr/local/lib/libpcre2-8.a .
|
||||
cp /usr/local/opt/bzip2/lib/libbz2.a .
|
||||
cp /usr/local/lib/libssh2.a .
|
||||
|
||||
export CMAKE_CXX_FLAGS="-I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/curl/include"
|
||||
cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1 .
|
||||
make -j8
|
||||
c++ -Xlinker -unexported_symbol -Xlinker "*" -o base/subconverter CMakeFiles/subconverter.dir/src/*.o libpcre2-8.a libevent.a libcurl.a libz.a libssl.a libcrypto.a libyaml-cpp.a libbz2.a -ldl -lpthread -O3
|
||||
rm subconverter
|
||||
c++ -Xlinker -unexported_symbol -Xlinker "*" -o base/subconverter CMakeFiles/subconverter.dir/src/*.o libpcre2-8.a libevent.a libcurl.a libz.a libssl.a libcrypto.a libyaml-cpp.a libbz2.a libssh2.a -ldl -lpthread -O3
|
||||
|
||||
cd base
|
||||
chmod +rx subconverter
|
||||
chmod +r *
|
||||
tar czf ../subconverter_darwin64.tar.gz *
|
||||
cd ..
|
||||
mv base subconverter
|
||||
|
||||
set +xe
|
||||
|
||||
18
scripts/build.windows.sh
Normal file
18
scripts/build.windows.sh
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
set -xe
|
||||
|
||||
git clone https://github.com/curl/curl
|
||||
cd curl
|
||||
cmake -DHTTP_ONLY=ON -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -G "Unix Makefiles" .
|
||||
make -j4
|
||||
cd ..
|
||||
|
||||
cmake -G "Unix Makefiles" .
|
||||
make -j2
|
||||
rm subconverter.exe
|
||||
g++ -o base/subconverter CMakeFiles/subconverter.dir/src/*.obj curl/lib/libcurl.a -static -lpcre2-8 -levent -lyaml-cpp -lssl -lcrypto -lwsock32 -lws2_32 -lz
|
||||
|
||||
mv base subconverter
|
||||
zip -q -r subconverter_win64.zip subconverter/
|
||||
|
||||
set +xe
|
||||
2
scripts/hooks/post_checkout
Normal file
2
scripts/hooks/post_checkout
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
curl -L https://github.com/multiarch/qemu-user-static/releases/download/v4.2.0-6/x86_64_qemu-aarch64-static.tar.gz | tar zxvf - -C .
|
||||
4
scripts/hooks/pre_build
Normal file
4
scripts/hooks/pre_build
Normal file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
# Register qemu-*-static for all supported processors except the
|
||||
# current one, but also remove all registered binfmt_misc before
|
||||
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||
Reference in New Issue
Block a user