diff --git a/.github/workflows/linux-package.yml b/.github/workflows/linux-package.yml new file mode 100644 index 000000000..376c5ae61 --- /dev/null +++ b/.github/workflows/linux-package.yml @@ -0,0 +1,46 @@ +name: Build Artemis deb package + +on: + workflow_dispatch: + push: + branches: + - feature/linux-ci + +jobs: + package: + name: Package deb + runs-on: ubuntu-latest + steps: + - name: Checkout Artemis + uses: actions/checkout@v3 + with: + path: Artemis + - name: Checkout Plugins + uses: actions/checkout@v3 + with: + repository: Artemis-RGB/Artemis.Plugins + path: Artemis.Plugins + - name: Setup .NET + uses: actions/setup-dotnet@v2 + with: + dotnet-version: '6.0.x' + - name: Install dotnet deb + run: dotnet tool install --global dotnet-deb + - name: Publish Artemis + run: dotnet publish --configuration Release --runtime linux-x64 --self-contained Artemis/src/Artemis.UI.Linux/Artemis.UI.Linux.csproj + - name: Publish Plugins + run: | + New-Item -ItemType "Directory" -Path Artemis/src/Artemis.UI.Linux/bin/linux-x64/publish/Plugins + Get-ChildItem -File -Recurse -Filter *.csproj Artemis.Plugins/src/ | + Foreach-Object -Parallel { + dotnet publish --configuration Release --runtime linux-x64 --output build-plugins/$($_.BaseName) --no-self-contained $($_.FullName); + Compress-Archive -Path "build-plugins/$($_.BaseName)" -DestinationPath "Artemis/src/Artemis.UI.Linux/bin/linux-x64/publish/Plugins/$($_.BaseName).zip"; + } + shell: pwsh + - name: Build deb + run: dotnet deb -r linux-x64 Artemis/src/Artemis.UI.Linux/Artemis.UI.Linux.csproj + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: Artemis.UI.Linux.1.0.0.linux-x64.deb + path: Artemis/src/Artemis.UI.Linux/bin/linux-x64/Artemis.UI.Linux.1.0.0.linux-x64.deb \ No newline at end of file diff --git a/src/Artemis.UI.Linux/Artemis.UI.Linux.csproj b/src/Artemis.UI.Linux/Artemis.UI.Linux.csproj index 7d19d5e97..39031da67 100644 --- a/src/Artemis.UI.Linux/Artemis.UI.Linux.csproj +++ b/src/Artemis.UI.Linux/Artemis.UI.Linux.csproj @@ -27,4 +27,13 @@ + + + + /usr/share/icons/artemis.png + + + /usr/share/applications/artemis.desktop + + \ No newline at end of file diff --git a/src/Artemis.UI.Linux/Assets/artemis.desktop b/src/Artemis.UI.Linux/Assets/artemis.desktop new file mode 100644 index 000000000..103410b1b --- /dev/null +++ b/src/Artemis.UI.Linux/Assets/artemis.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Name=Artemis +Type=Application +Exec=/usr/share/Artemis.UI.Linux/Artemis.UI.Linux +Icon=/usr/share/icons/artemis.png +Categories=Tools \ No newline at end of file diff --git a/src/Artemis.UI.Linux/Assets/artemis.png b/src/Artemis.UI.Linux/Assets/artemis.png new file mode 100644 index 000000000..2f991a255 Binary files /dev/null and b/src/Artemis.UI.Linux/Assets/artemis.png differ diff --git a/src/Artemis.UI.Linux/Directory.Build.props b/src/Artemis.UI.Linux/Directory.Build.props new file mode 100644 index 000000000..d761386e5 --- /dev/null +++ b/src/Artemis.UI.Linux/Directory.Build.props @@ -0,0 +1,9 @@ + + + + + 0.1.220-* + all + + + \ No newline at end of file