Change workflows
This commit is contained in:
parent
b6ad1a289b
commit
bce4437c79
39
.github/workflows/build-linux.yml
vendored
39
.github/workflows/build-linux.yml
vendored
@ -23,10 +23,10 @@ env:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [Linux, MacOS]
|
os: [ubuntu-latest, macos-latest]
|
||||||
arch: [x64, arm64]
|
arch: [x64, arm64]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
@ -45,62 +45,63 @@ jobs:
|
|||||||
then
|
then
|
||||||
version="${inputVersion}"
|
version="${inputVersion}"
|
||||||
else
|
else
|
||||||
version="$(grep -oP '(?<=<Version>).*(?=</Version)' ./Source/AppScaffolding/AppScaffolding.csproj)"
|
version="$(grep -Eio -m 1 '<Version>.*</Version>' ./Source/AppScaffolding/AppScaffolding.csproj | sed -r 's/<\/?Version>//g')"
|
||||||
fi
|
fi
|
||||||
echo "version=${version}" >> "${GITHUB_OUTPUT}"
|
echo "version=${version}" >> "${GITHUB_OUTPUT}"
|
||||||
|
|
||||||
- name: Unit test
|
- name: Unit test
|
||||||
if: ${{ inputs.run_unit_tests }}
|
if: ${{ inputs.run_unit_tests }}
|
||||||
working-directory: ./Source
|
working-directory: ./Source
|
||||||
run: dotnet test
|
run: dotnet test
|
||||||
|
|
||||||
- name: Publish
|
- name: Publish
|
||||||
|
id: publish
|
||||||
working-directory: ./Source
|
working-directory: ./Source
|
||||||
run: |
|
run: |
|
||||||
os=${{ matrix.os }}
|
os=${{ matrix.os }}
|
||||||
RUNTIME_IDENTIFIER="$(echo ${os,} | sed 's/macOS/osx/')-${{ matrix.arch }}"
|
target_os="$(echo ${os/-latest/} | sed 's/ubuntu/linux/')"
|
||||||
|
display_os="$(echo ${target_os/macos/macOS} | sed 's/linux/Linux/')"
|
||||||
|
echo "display_os=${display_os}" >> $GITHUB_OUTPUT
|
||||||
|
RUNTIME_IDENTIFIER="$(echo ${target_os/macos/osx})-${{ matrix.arch }}"
|
||||||
echo "$RUNTIME_IDENTIFIER"
|
echo "$RUNTIME_IDENTIFIER"
|
||||||
dotnet publish \
|
dotnet publish \
|
||||||
LibationAvalonia/LibationAvalonia.csproj \
|
LibationAvalonia/LibationAvalonia.csproj \
|
||||||
--runtime "$RUNTIME_IDENTIFIER" \
|
--runtime "$RUNTIME_IDENTIFIER" \
|
||||||
--configuration ${{ env.DOTNET_CONFIGURATION }} \
|
--configuration ${{ env.DOTNET_CONFIGURATION }} \
|
||||||
--output bin/Publish/${{ matrix.os }}-${{ matrix.arch }}-${{ env.RELEASE_NAME }} \
|
--output bin/Publish/${display_os}-${{ matrix.arch }}-${{ env.RELEASE_NAME }} \
|
||||||
-p:PublishProfile=LibationAvalonia/Properties/PublishProfiles/${{ matrix.os }}Profile.pubxml
|
-p:PublishProfile=LibationAvalonia/Properties/PublishProfiles/${display_os}Profile.pubxml
|
||||||
dotnet publish \
|
dotnet publish \
|
||||||
LoadByOS/${{ matrix.os }}ConfigApp/${{ matrix.os }}ConfigApp.csproj \
|
LoadByOS/${display_os}ConfigApp/${display_os}ConfigApp.csproj \
|
||||||
--runtime "$RUNTIME_IDENTIFIER" \
|
--runtime "$RUNTIME_IDENTIFIER" \
|
||||||
--configuration ${{ env.DOTNET_CONFIGURATION }} \
|
--configuration ${{ env.DOTNET_CONFIGURATION }} \
|
||||||
--output bin/Publish/${{ matrix.os }}-${{ matrix.arch }}-${{ env.RELEASE_NAME }} \
|
--output bin/Publish/${display_os}-${{ matrix.arch }}-${{ env.RELEASE_NAME }} \
|
||||||
-p:PublishProfile=LoadByOS/Properties/${{ matrix.os }}ConfigApp/PublishProfiles/${{ matrix.os }}Profile.pubxml
|
-p:PublishProfile=LoadByOS/Properties/${display_os}ConfigApp/PublishProfiles/${display_os}Profile.pubxml
|
||||||
dotnet publish \
|
dotnet publish \
|
||||||
LibationCli/LibationCli.csproj \
|
LibationCli/LibationCli.csproj \
|
||||||
--runtime "$RUNTIME_IDENTIFIER" \
|
--runtime "$RUNTIME_IDENTIFIER" \
|
||||||
--configuration ${{ env.DOTNET_CONFIGURATION }} \
|
--configuration ${{ env.DOTNET_CONFIGURATION }} \
|
||||||
--output bin/Publish/${{ matrix.os }}-${{ matrix.arch }}-${{ env.RELEASE_NAME }} \
|
--output bin/Publish/${display_os}-${{ matrix.arch }}-${{ env.RELEASE_NAME }} \
|
||||||
-p:PublishProfile=LibationCli/Properties/PublishProfiles/${{ matrix.os }}Profile.pubxml
|
-p:PublishProfile=LibationCli/Properties/PublishProfiles/${display_os}Profile.pubxml
|
||||||
dotnet publish \
|
dotnet publish \
|
||||||
HangoverAvalonia/HangoverAvalonia.csproj \
|
HangoverAvalonia/HangoverAvalonia.csproj \
|
||||||
--runtime "$RUNTIME_IDENTIFIER" \
|
--runtime "$RUNTIME_IDENTIFIER" \
|
||||||
--configuration ${{ env.DOTNET_CONFIGURATION }} \
|
--configuration ${{ env.DOTNET_CONFIGURATION }} \
|
||||||
--output bin/Publish/${{ matrix.os }}-${{ matrix.arch }}-${{ env.RELEASE_NAME }} \
|
--output bin/Publish/${display_os}-${{ matrix.arch }}-${{ env.RELEASE_NAME }} \
|
||||||
-p:PublishProfile=HangoverAvalonia/Properties/PublishProfiles/${{ matrix.os }}Profile.pubxml
|
-p:PublishProfile=HangoverAvalonia/Properties/PublishProfiles/${display_os}Profile.pubxml
|
||||||
|
|
||||||
- name: Build bundle
|
- name: Build bundle
|
||||||
id: bundle
|
id: bundle
|
||||||
working-directory: ./Source/bin/Publish/${{ matrix.os }}-${{ matrix.arch }}-${{ env.RELEASE_NAME }}
|
working-directory: ./Source/bin/Publish/${{ steps.publish.outputs.display_os }}-${{ matrix.arch }}-${{ env.RELEASE_NAME }}
|
||||||
run: |
|
run: |
|
||||||
BUNDLE_DIR=$(pwd)
|
BUNDLE_DIR=$(pwd)
|
||||||
echo "Bundle dir: ${BUNDLE_DIR}"
|
echo "Bundle dir: ${BUNDLE_DIR}"
|
||||||
cd ..
|
cd ..
|
||||||
SCRIPT=../../../Scripts/Bundle_${{ matrix.os }}.sh
|
SCRIPT=../../../Scripts/Bundle_${{ steps.publish.outputs.display_os }}.sh
|
||||||
chmod +rx ${SCRIPT}
|
chmod +rx ${SCRIPT}
|
||||||
${SCRIPT} "${BUNDLE_DIR}" "${{ steps.get_version.outputs.version }}" "${{ matrix.arch }}"
|
${SCRIPT} "${BUNDLE_DIR}" "${{ steps.get_version.outputs.version }}" "${{ matrix.arch }}"
|
||||||
artifact=$(ls ./bundle)
|
artifact=$(ls ./bundle)
|
||||||
echo "artifact=${artifact}" >> "${GITHUB_OUTPUT}"
|
echo "artifact=${artifact}" >> "${GITHUB_OUTPUT}"
|
||||||
|
|
||||||
- name: Publish bundle
|
- name: Publish bundle
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: ${{ steps.bundle.outputs.artifact }}
|
name: ${{ steps.bundle.outputs.artifact }}
|
||||||
path: ./Source/bin/Publish/bundle/${{ steps.bundle.outputs.artifact }}
|
path: ./Source/bin/Publish/bundle/${{ steps.bundle.outputs.artifact }}
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
@ -96,6 +96,9 @@ done
|
|||||||
|
|
||||||
APP_FILE=Libation.${VERSION}-macOS-chardonnay-${ARCH}.tgz
|
APP_FILE=Libation.${VERSION}-macOS-chardonnay-${ARCH}.tgz
|
||||||
|
|
||||||
|
echo "Signing executables in: $BUNDLE"
|
||||||
|
codesign --force --deep -s - $BUNDLE
|
||||||
|
|
||||||
echo "Creating app bundle: $APP_FILE"
|
echo "Creating app bundle: $APP_FILE"
|
||||||
tar -czvf $APP_FILE $BUNDLE
|
tar -czvf $APP_FILE $BUNDLE
|
||||||
|
|
||||||
@ -105,4 +108,4 @@ mv $APP_FILE ./bundle/$APP_FILE
|
|||||||
|
|
||||||
rm -r $BUNDLE
|
rm -r $BUNDLE
|
||||||
|
|
||||||
echo "Done!"
|
echo "Done!"
|
||||||
Loading…
x
Reference in New Issue
Block a user