Reduced cache size in Github CI for Windows and macOS.

- Other minor improvements.
This commit is contained in:
23rd 2020-01-24 16:17:35 +03:00
parent 2008b1beea
commit 543dc80b0b
2 changed files with 45 additions and 15 deletions

View File

@ -32,7 +32,8 @@ jobs:
QT_PREFIX: "/usr/local/desktop-app/Qt-5.12.5" QT_PREFIX: "/usr/local/desktop-app/Qt-5.12.5"
LIBICONV_VER: "libiconv-1.15" LIBICONV_VER: "libiconv-1.15"
UPLOAD_ARTIFACT: "false" UPLOAD_ARTIFACT: "false"
MANUAL_CACHING: "1" ONLY_CACHE: "false"
MANUAL_CACHING: "2"
DOC_PATH: "docs/building-xcode.md" DOC_PATH: "docs/building-xcode.md"
steps: steps:
- name: Get repository name. - name: Get repository name.
@ -117,8 +118,8 @@ jobs:
run: | run: |
cd $LibrariesPath cd $LibrariesPath
git clone $GIT/openssl/openssl openssl_$OPENSSL_VER git clone $GIT/openssl/openssl openssl
cd openssl_$OPENSSL_VER cd openssl
git checkout OpenSSL_"$OPENSSL_VER"-stable git checkout OpenSSL_"$OPENSSL_VER"-stable
./Configure \ ./Configure \
--prefix=$PREFIX \ --prefix=$PREFIX \
@ -127,6 +128,15 @@ jobs:
$MIN_MAC $MIN_MAC
make build_libs -j$(nproc) make build_libs -j$(nproc)
SSL_DIR=$LibrariesPath/openssl_${{ env.OPENSSL_VER }}
mkdir -p $SSL_DIR/include
copyLib() {
cp $1.a $SSL_DIR/$1.a
}
copyLib libssl
copyLib libcrypto
sudo cp -R include/. $SSL_DIR/include/
- name: Opus cache. - name: Opus cache.
id: cache-opus id: cache-opus
uses: actions/cache@v1 uses: actions/cache@v1
@ -174,7 +184,7 @@ jobs:
id: cache-ffmpeg id: cache-ffmpeg
uses: actions/cache@v1 uses: actions/cache@v1
with: with:
path: ${{ env.LibrariesPath }}/ffmpeg path: ${{ env.LibrariesPath }}/ffmpeg-cache
key: ${{ runner.OS }}-ffmpeg-${{ env.CACHE_KEY }} key: ${{ runner.OS }}-ffmpeg-${{ env.CACHE_KEY }}
- name: FFmpeg. - name: FFmpeg.
if: steps.cache-ffmpeg.outputs.cache-hit != 'true' if: steps.cache-ffmpeg.outputs.cache-hit != 'true'
@ -188,7 +198,7 @@ jobs:
LDFLAGS=`freetype-config --libs` LDFLAGS=`freetype-config --libs`
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/X11/lib/pkgconfig PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/X11/lib/pkgconfig
./configure --prefix=/usr/local \ ./configure --prefix=$LibrariesPath/ffmpeg-cache \
--extra-cflags="$MIN_MAC $UNGUARDED" \ --extra-cflags="$MIN_MAC $UNGUARDED" \
--extra-cxxflags="$MIN_MAC $UNGUARDED" \ --extra-cxxflags="$MIN_MAC $UNGUARDED" \
--extra-ldflags="$MIN_MAC" \ --extra-ldflags="$MIN_MAC" \
@ -290,10 +300,23 @@ jobs:
--enable-muxer=opus --enable-muxer=opus
make -j$(nproc) make -j$(nproc)
sudo make install
- name: FFmpeg install. - name: FFmpeg install.
run: | run: |
cd $LibrariesPath/ffmpeg cd $LibrariesPath
sudo make install #List of files from cmake/external/ffmpeg/CMakeLists.txt.
copyLib() {
mkdir -p ffmpeg/$1
\cp -fR ffmpeg-cache/lib/$1.a ffmpeg/$1/$1.a
}
copyLib libavformat
copyLib libavcodec
copyLib libswresample
copyLib libswscale
copyLib libavutil
sudo cp -R ffmpeg-cache/. /usr/local/
sudo cp -R ffmpeg-cache/include/. ffmpeg/
- name: OpenAL Soft. - name: OpenAL Soft.
run: | run: |
@ -364,8 +387,8 @@ jobs:
cd $LibrariesPath cd $LibrariesPath
mv qt-cache Qt-5.12.5 mv qt-cache Qt-5.12.5
sudo mkdir -p $QT_PREFIX sudo mkdir -p $QT_PREFIX
sudo mv -f Qt-5.12.5 /usr/local/desktop-app/ sudo mv -f Qt-5.12.5 "$(dirname "$QT_PREFIX")"/
- name: Build Qt 5.12.5. - name: Qt 5.12.5 build.
if: steps.cache-qt.outputs.cache-hit != 'true' if: steps.cache-qt.outputs.cache-hit != 'true'
run: | run: |
cd $LibrariesPath cd $LibrariesPath
@ -400,7 +423,8 @@ jobs:
make clean make clean
cp -r $QT_PREFIX $LibrariesPath/qt-cache cp -r $QT_PREFIX $LibrariesPath/qt-cache
- name: Build Telegram Desktop. - name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'
run: | run: |
cd $REPO_NAME/Telegram cd $REPO_NAME/Telegram

View File

@ -27,7 +27,8 @@ jobs:
QT: "5_12_5" QT: "5_12_5"
OPENSSL_VER: "1_1_1" OPENSSL_VER: "1_1_1"
UPLOAD_ARTIFACT: "false" UPLOAD_ARTIFACT: "false"
MANUAL_CACHING: "1" ONLY_CACHE: "false"
MANUAL_CACHING: "2"
DOC_PATH: "docs/building-msvc.md" DOC_PATH: "docs/building-msvc.md"
steps: steps:
- name: Get repository name. - name: Get repository name.
@ -134,6 +135,7 @@ jobs:
move ossl_static.pdb out32 move ossl_static.pdb out32
rmdir /S /Q test rmdir /S /Q test
rmdir /S /Q .git
- name: Zlib. - name: Zlib.
shell: cmd shell: cmd
@ -226,6 +228,7 @@ jobs:
path: ${{ env.LibrariesPath }}/opus path: ${{ env.LibrariesPath }}/opus
key: ${{ runner.OS }}-opus-${{ env.CACHE_KEY }} key: ${{ runner.OS }}-opus-${{ env.CACHE_KEY }}
- name: Opus. - name: Opus.
if: steps.cache-opus.outputs.cache-hit != 'true'
shell: cmd shell: cmd
run: | run: |
%VC% %VC%
@ -242,7 +245,7 @@ jobs:
uses: actions/cache@v1 uses: actions/cache@v1
with: with:
path: ${{ env.LibrariesPath }}/ffmpeg path: ${{ env.LibrariesPath }}/ffmpeg
key: ${{ runner.OS }}-ffmpeg-${{ env.CACHE_KEY }}-${{ hashFiles('**/build_ffmpeg_win.sh') }} key: ${{ runner.OS }}-ffmpeg-${{ env.CACHE_KEY }}-2-${{ hashFiles('**/build_ffmpeg_win.sh') }}
- name: FFmpeg. - name: FFmpeg.
if: steps.cache-ffmpeg.outputs.cache-hit != 'true' if: steps.cache-ffmpeg.outputs.cache-hit != 'true'
shell: cmd shell: cmd
@ -257,6 +260,8 @@ jobs:
set MSYS2_PATH_TYPE=inherit set MSYS2_PATH_TYPE=inherit
call c:\tools\msys64\usr\bin\bash --login ../../%REPO_NAME%/Telegram/Patches/build_ffmpeg_win.sh call c:\tools\msys64\usr\bin\bash --login ../../%REPO_NAME%/Telegram/Patches/build_ffmpeg_win.sh
rmdir /S /Q .git
- name: Qt 5.12.5 cache. - name: Qt 5.12.5 cache.
id: cache-qt id: cache-qt
uses: actions/cache@v1 uses: actions/cache@v1
@ -298,7 +303,7 @@ jobs:
-nomake examples ^ -nomake examples ^
-nomake tests ^ -nomake tests ^
-platform win32-msvc -platform win32-msvc
- name: Build Qt 5.12.5. - name: Qt 5.12.5 build.
if: steps.cache-qt.outputs.cache-hit != 'true' if: steps.cache-qt.outputs.cache-hit != 'true'
shell: cmd shell: cmd
run: | run: |
@ -321,7 +326,8 @@ jobs:
fi fi
echo "::set-env name=TDESKTOP_BUILD_DEFINE::$DEFINE" echo "::set-env name=TDESKTOP_BUILD_DEFINE::$DEFINE"
- name: Build Telegram Desktop. - name: Telegram Desktop build.
if: env.ONLY_CACHE == 'false'
shell: cmd shell: cmd
run: | run: |
cd %REPO_NAME%\Telegram cd %REPO_NAME%\Telegram