Skip to content

Android File Transfer for Linux (and macOS!) #74

Android File Transfer for Linux (and macOS!)

Android File Transfer for Linux (and macOS!) #74

Workflow file for this run

name: Android File Transfer for Linux (and macOS!)
on: [push]
jobs:
Linux:
runs-on: ubuntu-20.04
steps:
- name: Creating contiguous...
uses: ncipollo/release-action@v1
if: github.ref_name == 'master'
with:
name: "The latest and greatest"
body: This is the latest build of the current development branch. Please try any issues using this build before reporting any problems.
token: ${{ secrets.GITHUB_TOKEN }}
tag: continuous
prerelease: true
allowUpdates: true
removeArtifacts: true
- name: Creating release...
uses: ncipollo/release-action@v1
if: github.ref_type == 'tag'
with:
token: ${{ secrets.GITHUB_TOKEN }}
omitBody: true
omitName: true
allowUpdates: true
removeArtifacts: true
makeLatest: true
- name: Install Dependencies...
run: |
sudo apt-get update
sudo apt-get -y install qt5-default qttools5-dev qttools5-dev-tools libgtk2.0-dev libfuse-dev libmagic-dev libtag1-dev libssl-dev ninja-build cmake
- name: Checking out sources...
uses: actions/checkout@v2
- name: Configuring...
run: cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=appdir/usr -B build -GNinja .
- name: Building...
run: ninja -j$(nproc) -C build
- name: Installing...
run: ninja -C build install
- name: Creating AppImage...
run: |
sed -i -e 's|^Name=.*|Name=Android File Transfer For Linux|g' build/appdir/usr/share/applications/android-file-transfer.desktop
wget -c -q "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
chmod a+x linuxdeployqt-continuous-x86_64.AppImage
unset QTDIR
unset QT_PLUGIN_PATH
unset LD_LIBRARY_PATH
export VERSION=$(git rev-parse --short HEAD)
./linuxdeployqt-continuous-x86_64.AppImage build/appdir/usr/share/applications/*.desktop -bundle-non-qt-libs -appimage
find build/appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
- name: Uploading contiguous artifacts...
uses: ncipollo/release-action@v1
if: github.ref_name == 'master'
with:
allowUpdates: true
omitBody: true
omitName: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: ./Android*.AppImage*
tag: continuous
- name: Uploading release artifacts...
uses: ncipollo/release-action@v1
if: github.ref_type == 'tag'
with:
allowUpdates: true
omitBody: true
omitName: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: ./Android*.AppImage*
MacOSX:
runs-on: macos-latest
steps:
- name: Install Dependencies...
run: |
brew tap homebrew/cask
brew install qt@5 homebrew/cask/macfuse taglib openssl@1.1 cmake ninja libmagic
- name: Checking out sources...
uses: actions/checkout@v2
- name: Configuring...
run: cmake -DCMAKE_OSX_DEPLOYMENT_TARGET=10.12 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="/usr/local/opt/qt@5/" -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1 -DOPENSSL_LIBRARIES=/usr/local/opt/openssl@1.1/lib -DCMAKE_INSTALL_PREFIX=appdir -B build -G Ninja .
- name: Building...
run: ninja -j$(sysctl -n hw.ncpu) -C build
- name: Installing...
run: ninja -C build install
- name: Packaging...
run: |
mv appdir/android-file-transfer.app appdir/Android\ File\ Transfer\ for\ Linux.app
git clone https://github.com/andreyvit/create-dmg.git
cd create-dmg
./create-dmg --volicon "../osx/android-file-transfer.icns" --icon-size 96 --icon "Android File Transfer for Linux" 110 100 --app-drop-link 380 100 AndroidFileTransferForLinux.dmg ../appdir/Android\ File\ Transfer\ for\ Linux.app
- name: Uploading contiguous artifacts...
uses: ncipollo/release-action@v1
if: github.ref_name == 'master'
with:
allowUpdates: true
omitBody: true
omitName: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: create-dmg/*.dmg
tag: continuous
- name: Uploading contiguous artifacts...
uses: ncipollo/release-action@v1
if: github.ref_type == 'tag'
with:
allowUpdates: true
omitBody: true
omitName: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: create-dmg/*.dmg