Merge pull request #87 from FixeQyt/patch-2 #166
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: 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 |