mirror of
https://github.com/LizardByte/Sunshine.git
synced 2024-11-18 02:09:49 +00:00
Separate job for Macports build
This commit is contained in:
parent
341bc98730
commit
9990b9b04b
123
.github/workflows/CI.yml
vendored
123
.github/workflows/CI.yml
vendored
@ -230,7 +230,6 @@ jobs:
|
||||
zip --recurse-paths --move --test ./sunshine-appimage.zip ./*
|
||||
|
||||
- name: Upload Artifacts
|
||||
if: ${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: sunshine-linux-${{ matrix.type }}
|
||||
@ -247,7 +246,7 @@ jobs:
|
||||
|
||||
build_mac:
|
||||
name: MacOS
|
||||
runs-on: macos-12
|
||||
runs-on: macos-11
|
||||
needs: check_changelog
|
||||
|
||||
steps:
|
||||
@ -256,20 +255,20 @@ jobs:
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
# this is for the macports job
|
||||
- name: Cache Artifacts
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: artifacts
|
||||
key: ${{ runner.os }}-artifacts
|
||||
|
||||
- name: Setup Dependencies MacOS
|
||||
run: |
|
||||
# install dependencies using homebrew
|
||||
brew install boost cmake ffmpeg opus
|
||||
|
||||
# fix openssl header not found
|
||||
cd /usr/local/include
|
||||
ln -s ../opt/openssl/include/openssl .
|
||||
|
||||
# update paths for macports
|
||||
# echo "/opt/local/sbin" >> $GITHUB_PATH
|
||||
echo "/Users/runner/macports/sbin" >> $GITHUB_PATH
|
||||
# echo "/opt/local/bin" >> $GITHUB_PATH
|
||||
echo "/Users/runner/macports/bin" >> $GITHUB_PATH
|
||||
ln -sf /usr/local/opt/openssl/include/openssl /usr/local/include/openssl
|
||||
|
||||
- name: Build MacOS
|
||||
run: |
|
||||
@ -297,6 +296,10 @@ jobs:
|
||||
|
||||
- name: Package MacOS
|
||||
run: |
|
||||
# remove cached artifacts
|
||||
rm -r -f ./artifacts
|
||||
mkdir artifacts
|
||||
|
||||
mkdir -p artifacts
|
||||
cd build
|
||||
|
||||
@ -313,47 +316,98 @@ jobs:
|
||||
# move
|
||||
mv Portfile ../artifacts/Portfile
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: sunshine-macos
|
||||
path: artifacts/
|
||||
|
||||
# this step can be removed after packages are fixed
|
||||
- name: Delete experimental packages
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
working-directory: artifacts
|
||||
run: |
|
||||
rm -f ./sunshine-macos-experimental-dragndrop.dmg
|
||||
rm -f ./sunshine-macos-experimental-bundle.dmg
|
||||
rm -f ./sunshine-macos-experimental-archive.zip
|
||||
|
||||
- name: Create Release
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
uses: SunshineStream/actions/create_release@master
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
next_version: ${{ needs.check_changelog.outputs.next_version }}
|
||||
last_version: ${{ needs.check_changelog.outputs.last_version }}
|
||||
release_body: ${{ needs.check_changelog.outputs.release_body }}
|
||||
|
||||
build_mac_port:
|
||||
name: Macports
|
||||
runs-on: macos-11
|
||||
needs: [check_changelog, build_mac]
|
||||
if: never() # disable this job
|
||||
|
||||
steps:
|
||||
- name: Cache Artifacts
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: artifacts
|
||||
key: ${{ runner.os }}-artifacts
|
||||
|
||||
- name: Setup Macports
|
||||
run : |
|
||||
# update paths for macports
|
||||
echo "/opt/local/sbin" >> $GITHUB_PATH
|
||||
echo "/opt/local/bin" >> $GITHUB_PATH
|
||||
|
||||
# Set OpenSSL 1.1 as default
|
||||
# rm -rf /usr/local/opt/openssl
|
||||
# rm -rf /usr/local/bin/openssl
|
||||
# ln -sf /usr/local/Cellar/openssl@1.1/1.1.1o/bin/openssl /usr/local/bin/openssl
|
||||
# ln -sf /usr/local/Cellar/openssl@1.1/1.1.1o /usr/local/opt/openssl
|
||||
|
||||
# download and extract macports
|
||||
curl -O https://distfiles.macports.org/MacPorts/MacPorts-2.7.2.tar.bz2
|
||||
tar xf MacPorts-2.7.2.tar.bz2
|
||||
|
||||
# build macports
|
||||
cd MacPorts-2.7.2
|
||||
./configure --prefix=/Users/runner/macports
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
cd ../
|
||||
rm -rf MacPorts-2.7.2*
|
||||
|
||||
|
||||
- name: Configure Macports
|
||||
run: |
|
||||
# update sources
|
||||
sudo port -v selfupdate
|
||||
|
||||
# use custom sources
|
||||
# sudo chmod 777 /opt/local/etc/macports/sources.conf
|
||||
sudo chmod 777 /Users/runner/macports/etc/macports/sources.conf
|
||||
# echo file://$(echo ~)/ports > /opt/local/etc/macports/sources.conf
|
||||
echo file://$(echo ~)/ports > /Users/runner/macports/etc/macports/sources.conf
|
||||
# echo rsync://rsync.macports.org/macports/release/tarballs/ports.tar [default] >> /opt/local/etc/macports/sources.conf
|
||||
echo rsync://rsync.macports.org/macports/release/tarballs/ports.tar [default] >> /Users/runner/macports/etc/macports/sources.conf
|
||||
# sudo chmod 644 /opt/local/etc/macports/sources.conf
|
||||
sudo chmod 644 /Users/runner/macports/etc/macports/sources.conf
|
||||
|
||||
- name: Package with MacPorts
|
||||
run: |
|
||||
sudo chmod 777 /opt/local/etc/macports/sources.conf
|
||||
echo file://$(echo ~)/ports > /opt/local/etc/macports/sources.conf
|
||||
echo rsync://rsync.macports.org/macports/release/tarballs/ports.tar [default] >> /opt/local/etc/macports/sources.conf
|
||||
sudo chmod 644 /opt/local/etc/macports/sources.conf
|
||||
|
||||
# setup custom port
|
||||
mkdir -p ~/ports/multimedia/sunshine
|
||||
|
||||
# copy configured Portfile
|
||||
cp ./artifacts/Portfile ~/ports/multimedia/sunshine/
|
||||
mv ./artifacts/Portfile ~/ports/multimedia/sunshine/
|
||||
|
||||
# remove remaining cached artifacts
|
||||
rm -r -f ./artifacts
|
||||
mkdir artifacts
|
||||
|
||||
# index the ports
|
||||
cd ~/ports
|
||||
portindex
|
||||
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
# build port
|
||||
sudo port install sunshine
|
||||
# || cat /opt/local/var/macports/logs/_Users_runner_ports_multimedia_sunshine/Sunshine/main.log \
|
||||
# && exit 1
|
||||
sudo port install sunshine \
|
||||
|| cat /opt/local/var/macports/logs/_Users_runner_ports_multimedia_sunshine/Sunshine/main.log \
|
||||
&& exit 1
|
||||
|
||||
# create packages
|
||||
sudo port dmg sunshine
|
||||
@ -371,21 +425,11 @@ jobs:
|
||||
# port search sunshine
|
||||
|
||||
- name: Upload Artifacts
|
||||
if: ${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: sunshine-macos
|
||||
name: sunshine-macports
|
||||
path: artifacts/
|
||||
|
||||
# this step can be removed after packages are fixed
|
||||
- name: Delete experimental packages
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
working-directory: artifacts
|
||||
run: |
|
||||
rm -f ./sunshine-macos-experimental-dragndrop.dmg
|
||||
rm -f ./sunshine-macos-experimental-bundle.dmg
|
||||
rm -f ./sunshine-macos-experimental-archive.zip
|
||||
|
||||
- name: Create Release
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
uses: SunshineStream/actions/create_release@master
|
||||
@ -449,7 +493,6 @@ jobs:
|
||||
mv ./cpack_artifacts/Sunshine.zip ../artifacts/sunshine-windows.zip
|
||||
|
||||
- name: Upload Artifacts
|
||||
if: ${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: sunshine-windows
|
||||
|
Loading…
Reference in New Issue
Block a user