Push installation image #228
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: Push installation image | |
on: | |
workflow_dispatch: | |
release: | |
types: [published] | |
jobs: | |
windows-install-oobee: | |
runs-on: windows-latest | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v3 | |
with: | |
path: oobee | |
- name: Copy scripts to parent directory | |
run: | | |
cp ${{github.workspace}}/oobee/scripts/*.ps1 ${{github.workspace}} | |
cp ${{github.workspace}}/oobee/scripts/*.cmd ${{github.workspace}} | |
cp ${{github.workspace}}/oobee/scripts/*.xml ${{github.workspace}} | |
- name: Install Purple dependencies for Windows | |
shell: pwsh | |
run: powershell.exe -NoProfile -ExecutionPolicy Bypass "& ${{github.workspace}}\install_oobee_dependencies.ps1" | |
working-directory: ${{github.workspace}} | |
- name: Zip entire Purple folder (Windows) | |
shell: pwsh | |
run: Compress-Archive -Path ${{github.workspace}}/* -DestinationPath oobee-portable-windows.zip | |
- name: Upload Windows artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: oobee-portable-windows | |
path: ./oobee-portable-windows.zip | |
- name: Release Windows artifact | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: | | |
oobee-portable-windows.zip | |
mac-install-oobee: | |
runs-on: self-hosted | |
environment: macos | |
steps: | |
- name: Clean Workspace Folder | |
run: | | |
rm -rf ./* || true | |
rm -rf ./.??* || true | |
- name: Check out repository code | |
uses: actions/checkout@v3 | |
with: | |
path: oobee | |
- name: Grant execute permissions for user | |
run: chmod ugo+rwx ./scripts/*.command ./scripts/*.sh | |
working-directory: oobee | |
- name: Copy scripts to parent directory | |
run: | | |
cp ./oobee/scripts/{*.command,*.sh,*.xml} ${{ github.workspace }} | |
- name: Install Purple dependencies for MacOS | |
run: | | |
./install_oobee_dependencies.command | |
- name: Sign required binaries for MacOS | |
run: | | |
# Find a valid code signing certificate in your keychain for distribution outside Mac App Store | |
CERTIFICATE=$(security find-identity -v -p codesigning -s - | tail -n +2 | grep -o '"Developer ID Application:[^"]*"' | sed 's/"//g') | |
# Paths to the binaries you want to sign only ending with .node | |
BINARIES=($(find . -type f \( -name "*.node" -o -name "*.sh" -o -name "*.command" \) ! -path "*.framework/*" ! -path "*.dSYM/*")) | |
# Loop through the binary paths and sign each one with a secure timestamp | |
for binary in "${BINARIES[@]}"; do | |
# Check if the binary is already signed | |
codesign --timestamp -f -s "$CERTIFICATE" "$binary" | |
if [ $? -eq 0 ]; then | |
echo "Successfully signed (with secure timestamp): $binary" | |
else | |
echo "Failed to sign: $binary" | |
fi | |
done | |
- name: Zip entire Purple folder (Mac) | |
run: | | |
zip oobee-portable-mac.zip -y -r ./ | |
- name: Upload Mac artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: oobee-portable-mac | |
path: ./oobee-portable-mac.zip | |
- name: Release Mac artifact | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: | | |
oobee-portable-mac.zip |