Skip to content

Package

Package #11

Workflow file for this run

# Copyright 2024 CodeMerx
# Copyright 2025 LeXtudio Inc.
# This file is part of ProjectRover.
# ProjectRover is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# ProjectRover is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
# You should have received a copy of the GNU Affero General Public License
# along with ProjectRover. If not, see<https://www.gnu.org/licenses/>.
name: Package
on:
workflow_dispatch:
jobs:
package-windows:
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x
- name : Restore dependencies (x64)
run: dotnet restore -p:Configuration=Release -r win-x64 --force-evaluate
working-directory: ./src/ProjectRover
- name: Publish (x64)
run: dotnet publish -r win-x64 -c Release
working-directory: ./src/ProjectRover
- name : Restore dependencies (ARM)
run: dotnet restore -p:Configuration=Release -r win-arm64 --force-evaluate
working-directory: ./src/ProjectRover
- name: Publish (ARM)
run: dotnet publish -r win-arm64 -c Release
working-directory: ./src/ProjectRover
- name: Archive artifacts (x64)
uses: actions/upload-artifact@v4
with:
name: ProjectRover-windows-x64
path: src/ProjectRover/bin/Release/net10.0/win-x64/publish
- name: Archive artifacts (ARM)
uses: actions/upload-artifact@v4
with:
name: ProjectRover-windows-arm64
path: src/ProjectRover/bin/Release/net10.0/win-arm64/publish
package-linux:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x
- name : Restore dependencies
run: dotnet restore -r linux-x64 --force-evaluate
working-directory: ./src/ProjectRover
- name: Publish
run: dotnet publish -r linux-x64 -c Release
working-directory: ./src/ProjectRover
- name: Archive artifacts
run: tar -czpf ProjectRover-linux-x64.tar.gz -C ./src/ProjectRover/bin/Release/net10.0/linux-x64/publish .
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ProjectRover-linux-x64
path: ProjectRover-linux-x64.tar.gz
package-macos-arm64:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Restore dependencies
run: dotnet restore -r osx-arm64 --force-evaluate
working-directory: ./src/ProjectRover
- name: Publish
run: dotnet publish -r osx-arm64 -c Release
working-directory: ./src/ProjectRover
- name: Build .app bundle
run: build/macos/build-application-bundle.sh osx-arm64
- name: Archive artifacts
run: tar -czpf ProjectRover-macos-arm64.tar.gz ProjectRover.app
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ProjectRover-macos-arm64
path: ProjectRover-macos-arm64.tar.gz
package-macos-x64:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Restore dependencies
run: dotnet restore -r osx-x64 --force-evaluate
working-directory: ./src/ProjectRover
- name: Publish
run: dotnet publish -r osx-x64 -c Release
working-directory: ./src/ProjectRover
- name: Build .app bundle
run: build/macos/build-application-bundle.sh osx-x64
- name: Archive artifacts
run: tar -czpf ProjectRover-macos-x64.tar.gz ProjectRover.app
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ProjectRover-macos-x64
path: ProjectRover-macos-x64.tar.gz