Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds GitHub Action Support, Fixes macOS FUSE Mount Errors #5

Merged
merged 35 commits into from
Mar 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
9ea371f
Adds build action
td512 Mar 23, 2023
cbaf3c4
Fixes naming on macOS, lists build directory on linux
td512 Mar 23, 2023
4ccdfee
`osxfuse.fs` is now `macfuse.fs`
td512 Mar 23, 2023
e59528d
fixes build naming, uploads linux artifact
td512 Mar 23, 2023
42edf76
Fix Qt on Windows
td512 Mar 23, 2023
7b8106d
Fix Python on Windows
td512 Mar 23, 2023
c38af2b
`python` not `python3.8` on actions
td512 Mar 23, 2023
fd48c8a
Fixes Qt path for Windows
td512 Mar 23, 2023
40e6558
Fix Remove-Item command
td512 Mar 23, 2023
ee6745f
Correct CMake Command
td512 Mar 23, 2023
a2e96c6
Adds FreeBSD, OpenBSD, and NetBSD builds
td512 Mar 23, 2023
66f9df6
Gives FreeBSD, OpenBSD, and NetBSD jobs names
td512 Mar 23, 2023
38aa90d
Corrects BSD actions
td512 Mar 23, 2023
a060606
There is no sudo
td512 Mar 23, 2023
7939e72
Fixes BSD package installation
td512 Mar 23, 2023
3b13e87
Adds more RAM to VMs, moves to correct dir
td512 Mar 23, 2023
4b47cf3
Only execute this action on main or master
td512 Mar 23, 2023
532da92
Fix NetBSD Qt dependency problem
td512 Mar 23, 2023
9e814d7
Fix OpenBSD and NetBSD builds
td512 Mar 23, 2023
94b4b81
NetBSD Autoinstall
td512 Mar 23, 2023
d52e0a3
Where does Windows put the binary?
td512 Mar 23, 2023
858a847
Fix Windows artifacts, adds NetBSD MesaLib
td512 Mar 23, 2023
2f36faa
Hopefully fixes NetBSD
td512 Mar 23, 2023
f69a6a2
Install QtMultimedia for NetBSD
td512 Mar 23, 2023
98bb9e9
Add OpenGL Libraries
td512 Mar 23, 2023
2c1850b
Removes NetBSD
td512 Mar 23, 2023
924fd46
Adds automatic GitHub Release action
td512 Mar 23, 2023
02993a4
Fix release action
td512 Mar 23, 2023
379940c
Removes OpenBSD
td512 Mar 23, 2023
31d72ef
Fix release action
td512 Mar 23, 2023
254c416
Create GitHub tag before release
td512 Mar 23, 2023
a68d00d
Adds actions checkout
td512 Mar 24, 2023
7d89b2b
Fixes release action
td512 Mar 24, 2023
cad0c64
Don't compress the macOS app
td512 Mar 24, 2023
d0c69ee
Remove directories that might exist before population
td512 Mar 24, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
150 changes: 150 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
name: Build Rclone Browser

on:
push:
branches:
- main
- master

workflow_dispatch:

jobs:
build_windows:
name: Windows Build
runs-on: windows-latest

steps:
- uses: actions/checkout@v3
- name: Install Development Tools
run: |
choco install visualstudio2019community visualstudio2019-workload-nativedesktop cmake qt5-default -y
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
refreshenv
python get-pip.py
refreshenv
pip install py7zr lxml requests semantic-version
Remove-Item -Recurse -Force C:\Qt
mkdir C:\Qt
pushd C:\Qt
git clone https://github.com/engnr/qt-downloader.git
mv qt-downloader/qt-downloader .\qtd
Remove-Item -Recurse -Force qt-downloader
python qtd windows desktop 5.15.2 win64_msvc2019_64
popd

- name: Build Rclone Browser
run: |
mkdir build
cd build
cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_CONFIGURATION_TYPES="Release" -DCMAKE_PREFIX_PATH=C:\Qt\5.15.2\msvc2019_64 ..
cmake --build . --config Release
C:\Qt\5.15.2\msvc2019_64\bin\windeployqt.exe --no-translations --no-angle --no-compiler-runtime --no-svg ".\build\Release\RcloneBrowser.exe"
- uses: actions/upload-artifact@v3
with:
name: windows
path: build\build\Release\*

build_linux:
name: Linux Build
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Install Development Tools
run: |
sudo apt update
sudo apt -y install git g++ cmake make qtdeclarative5-dev qtmultimedia5-dev
- name: Build Rclone Browser
run: |
mkdir build
cd build
cmake ..
make -j $(nproc)

- uses: actions/upload-artifact@v3
with:
name: linux
path: build/build/*

build_macos:
name: macOS Build
runs-on: macos-latest

steps:
- uses: actions/checkout@v3
- name: Install Development Tools
run: brew install git cmake rclone qt5
- name: Build Rclone Browser
run: |
mkdir build
cd build
cmake .. -DCMAKE_PREFIX_PATH:PATH=/usr/local/opt/qt5
make -j $(nproc)
cd build
/usr/local/opt/qt@5/bin/macdeployqt rclone-browser.app -executable="rclone-browser.app/Contents/MacOS/rclone-browser" -qmldir=../src/
mv rclone-browser.app Rclone\ Browser.app
- uses: actions/upload-artifact@v3
with:
name: macos
path: build/build/*

build_freebsd:
name: FreeBSD Build
runs-on: macos-12

steps:
- uses: actions/checkout@v3
- name: Install Development Tools and Build Rclone Browser
uses: vmactions/freebsd-vm@v0
with:
mem: 4096
prepare: |
env ASSUME_ALWAYS_YES=YES pkg update -f
env ASSUME_ALWAYS_YES=YES pkg install -y git cmake qt5-buildtools qt5-declarative qt5-multimedia qt5-qmake
cd work/RcloneBrowser/RcloneBrowser
mkdir build
cd build
cmake ..
make

- uses: actions/upload-artifact@v3
with:
name: freebsd
path: build/build/*

create_release:
name: Create GitHub Release
runs-on: ubuntu-latest
needs: [build_windows, build_linux, build_macos, build_freebsd]

steps:
- uses: actions/checkout@v3
- name: Create artifact directory
run: rm -rf /tmp/artifacts && mkdir /tmp/artifacts
- uses: actions/download-artifact@v3
with:
path: /tmp/artifacts
- name: Compress artifacts
run: |
pushd /tmp/artifacts
for i in *;do zip -r -0 $i.zip $i;done
popd

- name: Get short commit
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV

- uses: rickstaa/action-create-tag@v1
with:
tag: release-${{ env.SHORT_SHA }}
tag_exists_error: false

- uses: ncipollo/release-action@v1
with:
artifacts: "/tmp/artifacts/*.zip"
name: Rclone Browser Autobuild For Commit ${{ env.SHORT_SHA }}
omitBody: true
generateReleaseNotes: true
prerelease: true
skipIfReleaseExists: true
tag: release-${{ env.SHORT_SHA }}

2 changes: 1 addition & 1 deletion src/remote_widget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1424,7 +1424,7 @@ RemoteWidget::RemoteWidget(IconCache *iconCache, const QString &remote,
#if defined(Q_OS_MACOS)
// on macOS we check if FUSE for macOS is installed

const QFileInfo outputDir("/Library/Filesystems/osxfuse.fs/");
const QFileInfo outputDir("/Library/Filesystems/macfuse.fs/");

if (outputDir.exists()) {

Expand Down