mirror of
https://github.com/sourcegit-scm/sourcegit.git
synced 2024-12-23 20:47:25 -08:00
Merge pull request #356 from aikawayataro/ci-release
Automatic CI releases
This commit is contained in:
commit
c60751de9a
12 changed files with 324 additions and 139 deletions
146
.github/workflows/ci.yml
vendored
146
.github/workflows/ci.yml
vendored
|
@ -1,117 +1,45 @@
|
||||||
name: Continuous Integration
|
name: Continuous Integration
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches: [develop]
|
||||||
- develop
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [develop]
|
branches: [develop]
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
workflow_call:
|
||||||
jobs:
|
jobs:
|
||||||
build-windows:
|
build:
|
||||||
name: Build Windows x64
|
strategy:
|
||||||
runs-on: windows-2019
|
matrix:
|
||||||
|
include:
|
||||||
|
- name : Windows x64
|
||||||
|
os: windows-2019
|
||||||
|
runtime: win-x64
|
||||||
|
- name : Windows ARM64
|
||||||
|
os: windows-2019
|
||||||
|
runtime: win-arm64
|
||||||
|
- name : macOS (Intel)
|
||||||
|
os: macos-13
|
||||||
|
runtime: osx-x64
|
||||||
|
- name : macOS (Apple Silicon)
|
||||||
|
os: macos-latest
|
||||||
|
runtime: osx-arm64
|
||||||
|
- name : Linux
|
||||||
|
os: ubuntu-20.04
|
||||||
|
runtime: linux-x64
|
||||||
|
# - name : Linux (arm64)
|
||||||
|
# os: ubuntu-20.04
|
||||||
|
# runtime: linux-arm64
|
||||||
|
name: Build ${{ matrix.name }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Setup .NET
|
|
||||||
uses: actions/setup-dotnet@v4
|
|
||||||
with:
|
|
||||||
dotnet-version: 8.0.x
|
|
||||||
- name: Build
|
|
||||||
run: dotnet build -c Release
|
|
||||||
- name: Publish
|
|
||||||
run: dotnet publish src/SourceGit.csproj -c Release -o publish -r win-x64
|
|
||||||
- name: Upload Artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: sourcegit.win-x64
|
|
||||||
path: publish
|
|
||||||
build-macos-intel:
|
|
||||||
name: Build macOS (Intel)
|
|
||||||
runs-on: macos-13
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Setup .NET
|
|
||||||
uses: actions/setup-dotnet@v4
|
|
||||||
with:
|
|
||||||
dotnet-version: 8.0.x
|
|
||||||
- name: Build
|
|
||||||
run: dotnet build -c Release
|
|
||||||
- name: Publish
|
|
||||||
run: dotnet publish src/SourceGit.csproj -c Release -o publish -r osx-x64
|
|
||||||
- name: Packing Program
|
|
||||||
run: tar -cvf sourcegit.osx-x64.tar -C publish/ .
|
|
||||||
- name: Upload Artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: sourcegit.osx-x64
|
|
||||||
path: sourcegit.osx-x64.tar
|
|
||||||
build-macos-arm64:
|
|
||||||
name: Build macOS (Apple Silicon)
|
|
||||||
runs-on: macos-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Setup .NET
|
|
||||||
uses: actions/setup-dotnet@v4
|
|
||||||
with:
|
|
||||||
dotnet-version: 8.0.x
|
|
||||||
- name: Build
|
|
||||||
run: dotnet build -c Release
|
|
||||||
- name: Publish
|
|
||||||
run: dotnet publish src/SourceGit.csproj -c Release -o publish -r osx-arm64
|
|
||||||
- name: Packing Program
|
|
||||||
run: tar -cvf sourcegit.osx-arm64.tar -C publish/ .
|
|
||||||
- name: Upload Artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: sourcegit.osx-arm64
|
|
||||||
path: sourcegit.osx-arm64.tar
|
|
||||||
build-linux:
|
|
||||||
name: Build Linux
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Setup .NET
|
|
||||||
uses: actions/setup-dotnet@v4
|
|
||||||
with:
|
|
||||||
dotnet-version: 8.0.x
|
|
||||||
- name: Build
|
|
||||||
run: dotnet build -c Release
|
|
||||||
- name: Publish
|
|
||||||
run: dotnet publish src/SourceGit.csproj -c Release -o publish -r linux-x64
|
|
||||||
- name: Rename Executable File
|
|
||||||
run: mv publish/SourceGit publish/sourcegit
|
|
||||||
- name: Packing Program
|
|
||||||
run: tar -cvf sourcegit.linux-x64.tar -C publish/ .
|
|
||||||
- name: Upload Artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: sourcegit.linux-x64
|
|
||||||
path: sourcegit.linux-x64.tar
|
|
||||||
build-linux-arm64:
|
|
||||||
name: Build Linux (arm64)
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Setup .NET
|
- name: Setup .NET
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@v4
|
||||||
with:
|
with:
|
||||||
dotnet-version: 8.0.x
|
dotnet-version: 8.0.x
|
||||||
- name: Configure arm64 packages
|
- name: Configure arm64 packages
|
||||||
|
if: ${{ matrix.runtime == 'linux-arm64' }}
|
||||||
run: |
|
run: |
|
||||||
sudo dpkg --add-architecture arm64
|
sudo dpkg --add-architecture arm64
|
||||||
echo 'deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal main restricted
|
echo 'deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal main restricted
|
||||||
|
@ -121,19 +49,25 @@ jobs:
|
||||||
sudo sed -i -e 's/^deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
|
sudo sed -i -e 's/^deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
|
||||||
sudo sed -i -e 's/^deb mirror/deb [arch=amd64] mirror/g' /etc/apt/sources.list
|
sudo sed -i -e 's/^deb mirror/deb [arch=amd64] mirror/g' /etc/apt/sources.list
|
||||||
- name: Install cross-compiling dependencies
|
- name: Install cross-compiling dependencies
|
||||||
|
if: ${{ matrix.runtime == 'linux-arm64' }}
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install clang llvm gcc-aarch64-linux-gnu zlib1g-dev:arm64
|
sudo apt-get install clang llvm gcc-aarch64-linux-gnu zlib1g-dev:arm64
|
||||||
- name: Build
|
- name: Build
|
||||||
run: dotnet build -c Release
|
run: dotnet build -c Release
|
||||||
- name: Publish
|
- name: Publish
|
||||||
run: dotnet publish src/SourceGit.csproj -c Release -o publish -r linux-arm64
|
run: dotnet publish src/SourceGit.csproj -c Release -o publish -r ${{ matrix.runtime }}
|
||||||
- name: Rename Executable File
|
- name: Rename executable file
|
||||||
|
if: ${{ startsWith(matrix.runtime, 'linux-') }}
|
||||||
run: mv publish/SourceGit publish/sourcegit
|
run: mv publish/SourceGit publish/sourcegit
|
||||||
- name: Packing Program
|
- name: Tar artifact
|
||||||
run: tar -cvf sourcegit.linux-arm64.tar -C publish/ .
|
if: ${{ startsWith(matrix.runtime, 'linux-') }}
|
||||||
- name: Upload Artifact
|
run: |
|
||||||
|
tar -cvf "sourcegit.${{ matrix.runtime }}.tar" -C publish .
|
||||||
|
rm -r publish/*
|
||||||
|
mv "sourcegit.${{ matrix.runtime }}.tar" publish
|
||||||
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: sourcegit.linux-arm64
|
name: sourcegit.${{ matrix.runtime }}
|
||||||
path: sourcegit.linux-arm64.tar
|
path: publish
|
||||||
|
|
99
.github/workflows/package.yml
vendored
Normal file
99
.github/workflows/package.yml
vendored
Normal file
|
@ -0,0 +1,99 @@
|
||||||
|
name: Package
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
version:
|
||||||
|
description: Source Git package version
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build
|
||||||
|
uses: ./.github/workflows/ci.yml
|
||||||
|
windows-portable:
|
||||||
|
name: Package portable Windows app
|
||||||
|
needs: build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
runtime: [win-x64, win-arm64]
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Download build
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: sourcegit.${{ matrix.runtime }}
|
||||||
|
path: build/SourceGit
|
||||||
|
- name: Package
|
||||||
|
env:
|
||||||
|
VERSION: ${{ inputs.version }}
|
||||||
|
RUNTIME: ${{ matrix.runtime }}
|
||||||
|
run: ./build/ci/package.windows-portable.sh
|
||||||
|
- name: Upload package artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: package.${{ matrix.runtime }}
|
||||||
|
path: build/sourcegit_*.zip
|
||||||
|
osx-app:
|
||||||
|
name: Package OSX app
|
||||||
|
needs: build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
runtime: [osx-x64, osx-arm64]
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Download build
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: sourcegit.${{ matrix.runtime }}
|
||||||
|
path: build/SourceGit
|
||||||
|
- name: Package
|
||||||
|
env:
|
||||||
|
VERSION: ${{ inputs.version }}
|
||||||
|
RUNTIME: ${{ matrix.runtime }}
|
||||||
|
run: ./build/ci/package.osx-app.sh
|
||||||
|
- name: Upload package artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: package.${{ matrix.runtime }}
|
||||||
|
path: build/sourcegit_*.zip
|
||||||
|
linux:
|
||||||
|
name: Package Linux
|
||||||
|
needs: build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
# runtime: [linux-x64, linux-arm64]
|
||||||
|
runtime: [linux-x64]
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Download package dependencies
|
||||||
|
run: |
|
||||||
|
sudo add-apt-repository universe
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install desktop-file-utils rpm libfuse2
|
||||||
|
- name: Download build
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: sourcegit.${{ matrix.runtime }}
|
||||||
|
path: build
|
||||||
|
- name: Package
|
||||||
|
env:
|
||||||
|
VERSION: ${{ inputs.version }}
|
||||||
|
RUNTIME: ${{ matrix.runtime }}
|
||||||
|
run: |
|
||||||
|
mkdir build/SourceGit
|
||||||
|
tar -xf "build/sourcegit.${{ matrix.runtime }}.tar" -C build/SourceGit
|
||||||
|
./build/ci/package.linux.sh
|
||||||
|
- name: Upload package artifacts
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: package.${{ matrix.runtime }}
|
||||||
|
path: |
|
||||||
|
build/sourcegit-*.AppImage
|
||||||
|
build/sourcegit_*.deb
|
||||||
|
build/sourcegit-*.rpm
|
49
.github/workflows/release.yml
vendored
Normal file
49
.github/workflows/release.yml
vendored
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
name: Release
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- v*
|
||||||
|
jobs:
|
||||||
|
version:
|
||||||
|
name: Prepare version string
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
version: ${{ steps.version.outputs.version }}
|
||||||
|
steps:
|
||||||
|
- name: Output version string
|
||||||
|
id: version
|
||||||
|
env:
|
||||||
|
TAG: ${{ github.ref_name }}
|
||||||
|
run: echo "version=${TAG#v}" >> "$GITHUB_OUTPUT"
|
||||||
|
package:
|
||||||
|
needs: version
|
||||||
|
name: Package
|
||||||
|
uses: ./.github/workflows/package.yml
|
||||||
|
with:
|
||||||
|
version: ${{ needs.version.outputs.version }}
|
||||||
|
release:
|
||||||
|
needs: [version, package]
|
||||||
|
name: Release
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Create release
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
TAG: ${{ github.ref_name }}
|
||||||
|
run: gh release create "$TAG" -t "Release ${TAG#v}" --notes-from-tag
|
||||||
|
- name: Download artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
pattern: package.*
|
||||||
|
path: packages
|
||||||
|
merge-multiple: true
|
||||||
|
- name: Upload assets
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
TAG: ${{ github.ref_name }}
|
||||||
|
VERSION: ${{ needs.version.outputs.version }}
|
||||||
|
run: gh release upload "$TAG" packages/*
|
|
@ -16,14 +16,15 @@ cd ../../
|
||||||
|
|
||||||
# Debain/Ubuntu package
|
# Debain/Ubuntu package
|
||||||
mkdir -p resources/deb/opt/sourcegit/
|
mkdir -p resources/deb/opt/sourcegit/
|
||||||
|
mkdir -p resources/deb/usr/bin
|
||||||
mkdir -p resources/deb/usr/share/applications
|
mkdir -p resources/deb/usr/share/applications
|
||||||
mkdir -p resources/deb/usr/share/icons
|
mkdir -p resources/deb/usr/share/icons
|
||||||
cp -f SourceGit/* resources/deb/opt/sourcegit/
|
cp -f SourceGit/* resources/deb/opt/sourcegit/
|
||||||
|
ln -sf ../../opt/sourcegit/sourcegit resources/deb/usr/bin
|
||||||
cp -r resources/_common/applications resources/deb/usr/share/
|
cp -r resources/_common/applications resources/deb/usr/share/
|
||||||
cp -r resources/_common/icons resources/deb/usr/share/
|
cp -r resources/_common/icons resources/deb/usr/share/
|
||||||
chmod +x -R resources/deb/opt/sourcegit
|
|
||||||
sed -i "2s/.*/Version: ${version}/g" resources/deb/DEBIAN/control
|
sed -i "2s/.*/Version: ${version}/g" resources/deb/DEBIAN/control
|
||||||
dpkg-deb --build resources/deb ./sourcegit_${version}-1_amd64.deb
|
dpkg-deb --root-owner-group --build resources/deb ./sourcegit_${version}-1_amd64.deb
|
||||||
|
|
||||||
# Redhat/CentOS/Fedora package
|
# Redhat/CentOS/Fedora package
|
||||||
rpmbuild -bb --target=x86_64 resources/rpm/SPECS/build.spec --define "_topdir `pwd`/resources/rpm" --define "_version ${version}"
|
rpmbuild -bb --target=x86_64 resources/rpm/SPECS/build.spec --define "_topdir `pwd`/resources/rpm" --define "_version ${version}"
|
||||||
|
|
70
build/ci/package.linux.sh
Executable file
70
build/ci/package.linux.sh
Executable file
|
@ -0,0 +1,70 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -z "$VERSION" ]; then
|
||||||
|
echo "Provide the version as environment variable VERSION"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$RUNTIME" ]; then
|
||||||
|
echo "Provide the runtime as environment variable RUNTIME"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
arch=
|
||||||
|
appimage_arch=
|
||||||
|
target=
|
||||||
|
case "$RUNTIME" in
|
||||||
|
linux-x64)
|
||||||
|
arch=amd64
|
||||||
|
appimage_arch=x86_64
|
||||||
|
target=x86_64;;
|
||||||
|
linux-arm64)
|
||||||
|
arch=arm64
|
||||||
|
appimage_arch=arm_aarch64
|
||||||
|
target=aarch64;;
|
||||||
|
*)
|
||||||
|
echo "Unknown runtime $RUNTIME"
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
APPIMAGETOOL_URL=https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage
|
||||||
|
|
||||||
|
cd build
|
||||||
|
|
||||||
|
if [ ! -f "appimagetool" ]; then
|
||||||
|
curl -o appimagetool -L "$APPIMAGETOOL_URL"
|
||||||
|
chmod +x appimagetool
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f SourceGit/*.dbg
|
||||||
|
|
||||||
|
mkdir -p SourceGit.AppDir/opt
|
||||||
|
mkdir -p SourceGit.AppDir/usr/share/metainfo
|
||||||
|
mkdir -p SourceGit.AppDir/usr/share/applications
|
||||||
|
|
||||||
|
cp -r SourceGit SourceGit.AppDir/opt/sourcegit
|
||||||
|
desktop-file-install resources/_common/applications/sourcegit.desktop --dir SourceGit.AppDir/usr/share/applications \
|
||||||
|
--set-icon com.sourcegit_scm.SourceGit --set-key=Exec --set-value=AppRun
|
||||||
|
mv SourceGit.AppDir/usr/share/applications/{sourcegit,com.sourcegit_scm.SourceGit}.desktop
|
||||||
|
cp resources/appimage/sourcegit.png SourceGit.AppDir/com.sourcegit_scm.SourceGit.png
|
||||||
|
ln -rsf SourceGit.AppDir/opt/sourcegit/sourcegit SourceGit.AppDir/AppRun
|
||||||
|
ln -rsf SourceGit.AppDir/usr/share/applications/com.sourcegit_scm.SourceGit.desktop SourceGit.AppDir
|
||||||
|
cp resources/appimage/sourcegit.appdata.xml SourceGit.AppDir/usr/share/metainfo/com.sourcegit_scm.SourceGit.appdata.xml
|
||||||
|
|
||||||
|
ARCH="$appimage_arch" ./appimagetool -v SourceGit.AppDir "sourcegit-$VERSION.linux.$arch.AppImage"
|
||||||
|
|
||||||
|
mkdir -p resources/deb/opt/sourcegit/
|
||||||
|
mkdir -p resources/deb/usr/bin
|
||||||
|
mkdir -p resources/deb/usr/share/applications
|
||||||
|
mkdir -p resources/deb/usr/share/icons
|
||||||
|
cp -f SourceGit/* resources/deb/opt/sourcegit
|
||||||
|
ln -sf ../../opt/sourcegit/sourcegit resources/deb/usr/bin
|
||||||
|
cp -r resources/_common/applications resources/deb/usr/share
|
||||||
|
cp -r resources/_common/icons resources/deb/usr/share
|
||||||
|
sed -i -e "s/^Version:.*/Version: $VERSION/" -e "s/^Architecture:.*/Architecture: $arch/" resources/deb/DEBIAN/control
|
||||||
|
dpkg-deb --root-owner-group --build resources/deb "sourcegit_$VERSION-1_$arch.deb"
|
||||||
|
|
||||||
|
rpmbuild -bb --target="$target" resources/rpm/SPECS/build.spec --define "_topdir $(pwd)/resources/rpm" --define "_version $VERSION"
|
||||||
|
mv "resources/rpm/RPMS/$target/sourcegit-$VERSION-1.$target.rpm" ./
|
22
build/ci/package.osx-app.sh
Executable file
22
build/ci/package.osx-app.sh
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -z "$VERSION" ]; then
|
||||||
|
echo "Provide the version as environment variable VERSION"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$RUNTIME" ]; then
|
||||||
|
echo "Provide the runtime as environment variable RUNTIME"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd build
|
||||||
|
|
||||||
|
mkdir -p SourceGit.app/Contents/Resources
|
||||||
|
mv SourceGit SourceGit.app/Contents/MacOS
|
||||||
|
cp resources/app/App.icns SourceGit.app/Contents/Resources/App.icns
|
||||||
|
sed "s/SOURCE_GIT_VERSION/$VERSION/g" resources/app/App.plist > SourceGit.app/Contents/Info.plist
|
||||||
|
|
||||||
|
zip "sourcegit_$VERSION.$RUNTIME.zip" -r SourceGit.app -x "*/*\.dsym/*"
|
19
build/ci/package.windows-portable.sh
Executable file
19
build/ci/package.windows-portable.sh
Executable file
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -z "$VERSION" ]; then
|
||||||
|
echo "Provide the version as environment variable VERSION"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$RUNTIME" ]; then
|
||||||
|
echo "Provide the runtime as environment variable RUNTIME"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd build
|
||||||
|
|
||||||
|
rm -rf SourceGit/*.pdb
|
||||||
|
|
||||||
|
zip "sourcegit_$VERSION.$RUNTIME.zip" -r SourceGit
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<component type="desktop-application">
|
<component type="desktop-application">
|
||||||
<id>com.sourcegit-scm.SourceGit</id>
|
<id>com.sourcegit_scm.SourceGit</id>
|
||||||
<metadata_license>MIT</metadata_license>
|
<metadata_license>MIT</metadata_license>
|
||||||
<project_license>MIT</project_license>
|
<project_license>MIT</project_license>
|
||||||
<name>SourceGit</name>
|
<name>SourceGit</name>
|
||||||
|
@ -8,8 +8,9 @@
|
||||||
<description>
|
<description>
|
||||||
<p>Open-source GUI client for git users</p>
|
<p>Open-source GUI client for git users</p>
|
||||||
</description>
|
</description>
|
||||||
<launchable type="desktop-id">com.sourcegit-scm.SourceGit.desktop</launchable>
|
<url type="homepage">https://github.com/sourcegit-scm/sourcegit</url>
|
||||||
|
<launchable type="desktop-id">com.sourcegit_scm.SourceGit.desktop</launchable>
|
||||||
<provides>
|
<provides>
|
||||||
<id>com.sourcegit-scm.SourceGit.desktop</id>
|
<id>com.sourcegit_scm.SourceGit.desktop</id>
|
||||||
</provides>
|
</provides>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
Package: sourcegit
|
Package: sourcegit
|
||||||
Version: 8.18
|
Version: 8.23
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Depends: libx11-6, libice6, libsm6
|
Depends: libx11-6, libice6, libsm6
|
||||||
Architecture: amd64
|
Architecture: amd64
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!bin/sh
|
|
||||||
|
|
||||||
echo 'Create link on /usr/bin'
|
|
||||||
ln -s /opt/sourcegit/sourcegit /usr/bin/sourcegit
|
|
||||||
exit 0
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!bin/sh
|
|
||||||
|
|
||||||
rm -f /usr/bin/sourcegit
|
|
||||||
exit 0
|
|
|
@ -14,24 +14,23 @@ Requires: libSM.so.6
|
||||||
Open-source & Free Git Gui Client
|
Open-source & Free Git Gui Client
|
||||||
|
|
||||||
%install
|
%install
|
||||||
mkdir -p $RPM_BUILD_ROOT/opt/sourcegit
|
mkdir -p %{buildroot}/opt/sourcegit
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/share/applications
|
mkdir -p %{buildroot}/%{_bindir}
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/share/icons
|
mkdir -p %{buildroot}/usr/share/applications
|
||||||
cp -r ../../_common/applications $RPM_BUILD_ROOT/usr/share/
|
mkdir -p %{buildroot}/usr/share/icons
|
||||||
cp -r ../../_common/icons $RPM_BUILD_ROOT/usr/share/
|
cp -f ../../../SourceGit/* %{buildroot}/opt/sourcegit/
|
||||||
cp -f ../../../SourceGit/* $RPM_BUILD_ROOT/opt/sourcegit/
|
ln -sf ../../opt/sourcegit/sourcegit %{buildroot}/%{_bindir}
|
||||||
chmod 755 -R $RPM_BUILD_ROOT/opt/sourcegit
|
cp -r ../../_common/applications %{buildroot}/%{_datadir}
|
||||||
chmod 755 $RPM_BUILD_ROOT/usr/share/applications/sourcegit.desktop
|
cp -r ../../_common/icons %{buildroot}/%{_datadir}
|
||||||
|
chmod 755 -R %{buildroot}/opt/sourcegit
|
||||||
|
chmod 755 %{buildroot}/%{_datadir}/applications/sourcegit.desktop
|
||||||
|
|
||||||
%files
|
%files
|
||||||
/opt/sourcegit
|
%dir /opt/sourcegit/
|
||||||
/usr/share
|
/opt/sourcegit/*
|
||||||
|
/usr/share/applications/sourcegit.desktop
|
||||||
%post
|
/usr/share/icons/*
|
||||||
ln -s /opt/sourcegit/sourcegit /usr/bin/sourcegit
|
%{_bindir}/sourcegit
|
||||||
|
|
||||||
%postun
|
|
||||||
rm -f /usr/bin/sourcegit
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
# skip
|
# skip
|
||||||
|
|
Loading…
Reference in a new issue