Android File Transfer for Linux (and macOS!) #74
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |