Skip to content

Merge pull request #87 from FixeQyt/patch-2 #166

Merge pull request #87 from FixeQyt/patch-2

Merge pull request #87 from FixeQyt/patch-2 #166

Workflow file for this run

name: Build and Package
on:
push:
branches:
- main
jobs:
build-macos:
runs-on: macos-latest
steps:
- name: πŸ“ | Checkout repository
uses: actions/checkout@v2
- name: πŸ“ | Setup .NET
uses: actions/setup-dotnet@v2
with:
dotnet-version: '8.0.x'
- name: πŸ—οΈ | Build and publish for macOS (x64)
run: |
cd SkEditor
dotnet restore
dotnet publish -c Release -r osx-x64 -p:PublishSingleFile=true -p:PublishReadyToRun=true --no-self-contained --nologo -v q --property WarningLevel=0 /clp:ErrorsOnly /p:DebugType=None /p:DebugSymbols=false
- name: πŸ› οΈ | Create .app structure
run: |
mkdir -p "SkEditor.app/Contents/MacOS"
mkdir -p "SkEditor.app/Contents/Resources"
cp -r SkEditor/bin/Release/net8.0/osx-x64/publish/* "SkEditor.app/Contents/MacOS/"
cp SkEditor/Info.plist "SkEditor.app/Contents/"
cp SkEditor/SkEditor.icns "SkEditor.app/Contents/Resources/"
- name: πŸ”‘ | Set execute permissions
run: |
find SkEditor.app/Contents/MacOS/ -type f -exec chmod +x {} \;
- name: πŸ“¦ | Zip .app package
run: |
zip -r SkEditorMac.zip SkEditor.app
- name: πŸ“€ | Upload artifacts
uses: actions/upload-artifact@v2
with:
name: SkEditorMac
path: SkEditorMac.zip
# now build osx-arm64
- name: πŸ—οΈ | Build and publish for macOS (arm64)
run: |
cd SkEditor
dotnet restore
dotnet publish -c Release -r osx-arm64 -p:PublishSingleFile=true -p:PublishReadyToRun=true --no-self-contained --nologo -v q --property WarningLevel=0 /clp:ErrorsOnly /p:DebugType=None /p:DebugSymbols=false
- name: πŸ› οΈ | Create .app structure (arm64)
run: |
mkdir -p "SkEditor.app/Contents/MacOS"
mkdir -p "SkEditor.app/Contents/Resources"
cp -r SkEditor/bin/Release/net8.0/osx-arm64/publish/* "SkEditor.app/Contents/MacOS/"
cp SkEditor/Info.plist "SkEditor.app/Contents/"
cp SkEditor/SkEditor.icns "SkEditor.app/Contents/Resources/"
- name: πŸ”‘ | Set execute permissions (arm64)
run: |
find SkEditor.app/Contents/MacOS/ -type f -exec chmod +x {} \;
- name: πŸ“¦ | Zip .app package (arm64)
run: |
zip -r SkEditorMac-arm64.zip SkEditor.app
- name: πŸ“€ | Upload artifacts (arm64)
uses: actions/upload-artifact@v2
with:
name: SkEditorMac-arm64
path: SkEditorMac-arm64.zip
build-linux-debian-x64:
runs-on: ubuntu-latest
steps:
- name: πŸ“ | Checkout repository
uses: actions/checkout@v2
- name: πŸ“ | Setup .NET
uses: actions/setup-dotnet@v2
with:
dotnet-version: '8.0.x'
- name: πŸ—οΈ | Build and publish for Debian
run: |
cd SkEditor
dotnet restore
dotnet publish -c Release -r linux-x64 -p:PublishSingleFile=true -p:PublishReadyToRun=true --no-self-contained /p:DebugType=None /p:DebugSymbols=false
- name: πŸ“Œ | Install Dependencies
run: |
sudo apt update
sudo apt install wget curl -y
- name: πŸ› οΈ | Create .deb structure
run: |
mkdir -p "SkEditorFilesx/opt/SkEditor"
cp -r SkEditor/bin/Release/net8.0/linux-x64/publish/* "SkEditorFilesx/opt/SkEditor/"
mkdir -p "SkEditorFilesx/usr/share/applications"
cd SkEditorFilesx/usr/share/applications
wget -O SkEditor.desktop -r 'https://www.dropbox.com/scl/fi/v178sdzprbasul0xatg1y/SkEditor.desktop?rlkey=fq2nsuf9dyvlm7jhg9e5jugqu&st=6vlpjwjg&dl=1'
wget -O /home/runner/work/SkEditor/SkEditor/SkEditorFilesx/opt/SkEditor/SkEditor.png https://raw.githubusercontent.com/SkEditorTeam/SkEditor/main/SkEditor.png
mkdir -p mime/packages
cd mime/packages
wget -O skript.xml -r 'https://www.dropbox.com/scl/fi/5fh65lwl5n352tik2hl5p/skript.xml?rlkey=kikicagf306vd1b2lcaenyjyu&st=i6abr09z&dl=1'
mkdir -p "/home/runner/work/SkEditor/SkEditor/SkEditorFilesx/DEBIAN"
cd /home/runner/work/SkEditor/SkEditor/SkEditorFilesx/DEBIAN
pwd
wget -O control 'https://gist.github.com/FixeQyt/8eb19f6f236c504ea86d873bd172113c/raw/23e2c4503059777a10c78f54cbe87fa676bb94d2/control'
echo "Version: $(sed -n 's/.*<InformationalVersion>\(.*\)<\/InformationalVersion>.*/\1/p' /home/runner/work/SkEditor/SkEditor/SkEditor.csproj)" >> control
wget -O postrm 'https://gist.github.com/FixeQyt/8eb19f6f236c504ea86d873bd172113c/raw/23e2c4503059777a10c78f54cbe87fa676bb94d2/postrm'
wget -O preinst 'https://gist.github.com/FixeQyt/8eb19f6f236c504ea86d873bd172113c/raw/23e2c4503059777a10c78f54cbe87fa676bb94d2/preinst'
wget -O postinst 'https://gist.github.com/FixeQyt/8eb19f6f236c504ea86d873bd172113c/raw/23e2c4503059777a10c78f54cbe87fa676bb94d2/postinst'
- name: πŸ”‘ | Fix Permissions
run: |
cd /home/runner/work/SkEditor/SkEditor/SkEditorFilesx/DEBIAN
chmod 0755 *
- name: πŸ“¦ | Create .deb package
run: |
cd /home/runner/work/SkEditor/SkEditor/
pwd
dpkg-deb -Zgzip -b SkEditorFilesx SkEditor-x64.deb
- name: πŸ“€ | Upload artifacts
env:
TOKEN: ${{ secrets.APT_REPO_TOKEN }}
run: |
curl --header "Authorization: Bearer $env:TOKEN" --form "package=@SkEditor-x64.deb" --form "distribution=all" https://fixeq.baltorepo.com/skeditor/skeditor/upload/
build-linux:
runs-on: ubuntu-latest
steps:
- name: πŸ“ | Checkout repository
uses: actions/checkout@v2
- name: πŸ“ | Setup .NET
uses: actions/setup-dotnet@v2
with:
dotnet-version: '8.0.x'
- name: πŸ—οΈ | Build and publish for Debian
run: |
cd SkEditor
dotnet restore
dotnet publish -c Release -r linux-x64 -p:PublishSingleFile=true -p:PublishReadyToRun=true --no-self-contained /p:DebugType=None /p:DebugSymbols=false
dotnet publish -c Release -r linux-arm64 -p:PublishSingleFile=true -p:PublishReadyToRun=true --no-self-contained /p:DebugType=None /p:DebugSymbols=false
- name: πŸ› οΈ | Create archive structure
run: |
cd /home/runner/work/SkEditor/SkEditor/
mkdir -p "SkEditorFilesL/x64"
mkdir -p "SkEditorFilesL/arm64"
cp -r SkEditor/bin/Release/net8.0/linux-x64/publish/* "SkEditorFilesL/x64/"
cp -r SkEditor/bin/Release/net8.0/linux-arm64/publish/* "SkEditorFilesL/arm64/"
- name: πŸ“¦ | Pack SkEditor files
run: |
cd /home/runner/work/SkEditor/SkEditor/
tar -czf SkEditor.tar.gz SkEditorFilesL/
- name: πŸ“€ | Upload artifacts
uses: actions/upload-artifact@v2
with:
name: Linux (multiarch)
path: SkEditor.tar.gz