0a011db483
Desktop App Toolkit uses GLib as the D-Bus library for quite long time, but GLib is not only a D-Bus library, it's more a basic library providing native Linux APIs implementing various specs. The situation right now is that DESKTOP_APP_DISABLE_DBUS_INTEGRATION disables not only D-Bus code but all the native API integration such as MIME handling or .desktop file parsing. In other words, the option disables native Linux APIs on Linux what is absurd and doesn't have any sense.
131 lines
3.5 KiB
YAML
131 lines
3.5 KiB
YAML
name: Linux.
|
|
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- 'docs/**'
|
|
- '**.md'
|
|
- 'changelog.txt'
|
|
- 'LEGAL'
|
|
- 'LICENSE'
|
|
- '.github/**'
|
|
- '!.github/workflows/linux.yml'
|
|
- 'snap/**'
|
|
- 'Telegram/build/**'
|
|
- 'Telegram/Resources/uwp/**'
|
|
- 'Telegram/Resources/winrc/**'
|
|
- 'Telegram/SourceFiles/platform/win/**'
|
|
- 'Telegram/SourceFiles/platform/mac/**'
|
|
- 'Telegram/Telegram/**'
|
|
- 'Telegram/configure.bat'
|
|
- 'Telegram/Telegram.plist'
|
|
pull_request:
|
|
paths-ignore:
|
|
- 'docs/**'
|
|
- '**.md'
|
|
- 'changelog.txt'
|
|
- 'LEGAL'
|
|
- 'LICENSE'
|
|
- '.github/**'
|
|
- '!.github/workflows/linux.yml'
|
|
- 'snap/**'
|
|
- 'Telegram/build/**'
|
|
- 'Telegram/Resources/uwp/**'
|
|
- 'Telegram/Resources/winrc/**'
|
|
- 'Telegram/SourceFiles/platform/win/**'
|
|
- 'Telegram/SourceFiles/platform/mac/**'
|
|
- 'Telegram/Telegram/**'
|
|
- 'Telegram/configure.bat'
|
|
- 'Telegram/Telegram.plist'
|
|
|
|
jobs:
|
|
|
|
linux:
|
|
name: CentOS 7
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: ghcr.io/${{ github.repository }}/centos_env
|
|
credentials:
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
defaults:
|
|
run:
|
|
shell: scl enable rh-python38 -- scl enable llvm-toolset-7.0 -- scl enable devtoolset-10 -- bash --noprofile --norc -eo pipefail {0}
|
|
|
|
strategy:
|
|
matrix:
|
|
defines:
|
|
- ""
|
|
- "DESKTOP_APP_DISABLE_X11_INTEGRATION"
|
|
- "DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION"
|
|
|
|
env:
|
|
UPLOAD_ARTIFACT: "false"
|
|
|
|
steps:
|
|
- name: Get repository name.
|
|
run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
|
|
|
|
- name: Clone.
|
|
uses: actions/checkout@v3.1.0
|
|
with:
|
|
submodules: recursive
|
|
path: ${{ env.REPO_NAME }}
|
|
|
|
- name: First set up.
|
|
run: |
|
|
gcc --version
|
|
ln -s /usr/src/Libraries
|
|
|
|
- name: Telegram Desktop build.
|
|
run: |
|
|
cd $REPO_NAME/Telegram
|
|
|
|
DEFINE=""
|
|
if [ -n "${{ matrix.defines }}" ]; then
|
|
DEFINE="-D ${{ matrix.defines }}=ON"
|
|
echo Define from matrix: $DEFINE
|
|
echo "ARTIFACT_NAME=Telegram_${{ matrix.defines }}" >> $GITHUB_ENV
|
|
else
|
|
echo "ARTIFACT_NAME=Telegram" >> $GITHUB_ENV
|
|
fi
|
|
|
|
./configure.sh \
|
|
-D CMAKE_C_FLAGS_DEBUG="" \
|
|
-D CMAKE_CXX_FLAGS_DEBUG="" \
|
|
-D CMAKE_C_FLAGS="-Werror" \
|
|
-D CMAKE_CXX_FLAGS="-Werror" \
|
|
-D CMAKE_EXE_LINKER_FLAGS="-s" \
|
|
-D TDESKTOP_API_TEST=ON \
|
|
-D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF \
|
|
$DEFINE
|
|
|
|
cmake --build ../out --config Debug --parallel
|
|
|
|
- name: Check.
|
|
run: |
|
|
filePath="$REPO_NAME/out/Debug/Telegram"
|
|
if test -f "$filePath"; then
|
|
echo "Build successfully done! :)"
|
|
|
|
size=$(stat -c %s "$filePath")
|
|
echo "File size of ${filePath}: ${size} Bytes."
|
|
else
|
|
echo "Build error, output file does not exist."
|
|
exit 1
|
|
fi
|
|
|
|
- name: Move artifact.
|
|
if: env.UPLOAD_ARTIFACT == 'true'
|
|
run: |
|
|
cd $REPO_NAME/out/Debug
|
|
mkdir artifact
|
|
mv Telegram artifact/
|
|
- uses: actions/upload-artifact@master
|
|
if: env.UPLOAD_ARTIFACT == 'true'
|
|
name: Upload artifact.
|
|
with:
|
|
name: ${{ env.ARTIFACT_NAME }}
|
|
path: ${{ env.REPO_NAME }}/out/Debug/artifact/
|