changes to workflow #85
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
# This workflow will build a .NET project | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net | |
name: Prerelease | |
on: | |
push: | |
branches: [ "unstable" ] | |
pull_request: | |
branches: [ "unstable" ] | |
env: | |
VERSION: "0.2.7" | |
jobs: | |
build: | |
strategy: | |
matrix: | |
os: [ ubuntu-latest ] | |
dotnet-version: [ '8.0.x' ] | |
runs-on: ${{ matrix.os }} | |
if: false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup .NET Core SDK ${{ matrix.dotnet-version }} | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: ${{ matrix.dotnet-version }} | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build | |
run: dotnet build --configuration Release --no-restore | |
- name: Test | |
run: dotnet test --no-build --verbosity normal | |
- name: Display dotnet version | |
run: dotnet --version | |
- name: "List all files" | |
run: ls -R | |
release: | |
strategy: | |
matrix: | |
os: [ ubuntu-latest ] | |
dotnet-version: [ '8.0.x' ] | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
needs: [build] | |
if: ${{ needs.build.result == 'success' }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup dotnet | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: ${{ matrix.dotnet-version }} | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Publish | |
run: | | |
dotnet publish bookmark-dlp.sln --configuration Release --runtime win-x64 --self-contained | |
dotnet publish bookmark-dlp.sln --configuration Release --runtime win-x86 --self-contained | |
dotnet publish bookmark-dlp.sln --configuration Release --runtime win-arm64 --self-contained | |
dotnet publish bookmark-dlp.sln --configuration Release --runtime linux-x64 --self-contained | |
dotnet publish bookmark-dlp.sln --configuration Release --runtime linux-arm64 --self-contained | |
dotnet publish bookmark-dlp.sln --configuration Release --runtime osx-x64 --self-contained | |
dotnet publish bookmark-dlp.sln --configuration Release --runtime osx-arm64 --self-contained | |
- name: "List all files" | |
run: | | |
echo $PWD | |
ls -R | |
- name: "Rename based on architecture" | |
run: | | |
mv "/home/runner/work/bookmark-dlp/bookmark-dlp/bin/Release/net8.0/win-x64/publish/bookmark-dlp.exe" "/home/runner/work/bookmark-dlp/bookmark-dlp/bin/Release/net8.0/win-x64/publish/bookmark-dlp-win-x64-${{ matrix.dotnet-version }}.exe" | |
mv "/home/runner/work/bookmark-dlp/bookmark-dlp/bin/Release/net8.0/win-x86/publish/bookmark-dlp.exe" "/home/runner/work/bookmark-dlp/bookmark-dlp/bin/Release/net8.0/win-x86/publish/bookmark-dlp-win-x86-${{ matrix.dotnet-version }}.exe" | |
mv "/home/runner/work/bookmark-dlp/bookmark-dlp/bin/Release/net8.0/linux-arm64/publish/bookmark-dlp" "/home/runner/work/bookmark-dlp/bookmark-dlp/bin/Release/net8.0/linux-arm64/publish/bookmark-dlp-linux-arm64-${{ matrix.dotnet-version }}" | |
mv "/home/runner/work/bookmark-dlp/bookmark-dlp/bin/Release/net8.0/linux-x64/publish/bookmark-dlp" "/home/runner/work/bookmark-dlp/bookmark-dlp/bin/Release/net8.0/linux-x64/publish/bookmark-dlp-linux-x64-${{ matrix.dotnet-version }}" | |
mv "/home/runner/work/bookmark-dlp/bookmark-dlp/bin/Release/net8.0/osx-x64/publish/bookmark-dlp" "/home/runner/work/bookmark-dlp/bookmark-dlp/bin/Release/net8.0/osx-x64/publish/bookmark-dlp-osx-x64-${{ matrix.dotnet-version }}" | |
mv "/home/runner/work/bookmark-dlp/bookmark-dlp/bin/Release/net8.0/osx-arm64/publish/bookmark-dlp" "/home/runner/work/bookmark-dlp/bookmark-dlp/bin/Release/net8.0/osx-arm64/publish/bookmark-dlp-osx-arm64" | |
mv "/home/runner/work/bookmark-dlp/bookmark-dlp/bin/Release/net8.0/win-arm64/publish/bookmark-dlp.exe" "/home/runner/work/bookmark-dlp/bookmark-dlp/bin/Release/net8.0/win-arm64/publish/bookmark-dlp-win-arm64-${{ matrix.dotnet-version }}.exe" | |
- name: "Delete old release" | |
env: | |
GH_TOKEN: ${{ github.token }} | |
run: | | |
gh release list > releases.txt | |
cat releases.txt | |
version="${{ env.VERSION }}" | |
echo $version | |
if grep $version releases.txt; then | |
echo wasfound | |
gh release delete $version | |
else | |
echo "notfound" | |
fi | |
- name: "Create new prerelease" | |
env: | |
GH_TOKEN: ${{ github.token }} | |
run: | | |
gh release create "${{ env.VERSION }}" --target unstable --prerelease --title "Development build ${{ env.VERSION }}" --generate-notes | |
- name: Upload | |
env: | |
GH_TOKEN: ${{ github.token }} | |
run: | | |
gh release upload "${{ env.VERSION }}" "./bin/Release/net8.0/win-x64/publish/bookmark-dlp-win-x64-${{ matrix.dotnet-version }}.exe" --clobber | |
gh release upload "${{ env.VERSION }}" "./bin/Release/net8.0/win-x86/publish/bookmark-dlp-win-x86-${{ matrix.dotnet-version }}.exe" --clobber | |
gh release upload "${{ env.VERSION }}" "./bin/Release/net8.0/linux-arm64/publish/bookmark-dlp-linux-arm64-${{ matrix.dotnet-version }}" --clobber | |
gh release upload "${{ env.VERSION }}" "./bin/Release/net8.0/linux-x64/publish/bookmark-dlp-linux-x64-${{ matrix.dotnet-version }}" --clobber | |
gh release upload "${{ env.VERSION }}" "./bin/Release/net8.0/osx-x64/publish/bookmark-dlp-osx-x64-${{ matrix.dotnet-version }}" --clobber | |
gh release upload "${{ env.VERSION }}" "./bin/Release/net8.0/osx-arm64/publish/bookmark-dlp-osx-arm64" --clobber | |
gh release upload "${{ env.VERSION }}" "./bin/Release/net8.0/win-arm64/publish/bookmark-dlp-win-arm64-${{ matrix.dotnet-version }}.exe" --clobber | |
pupnet: | |
strategy: | |
matrix: | |
os: [ ubuntu-latest ] | |
dotnet-version: [ '8.0.x' ] | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
# needs: [release] | |
# if: ${{ needs.release.result == 'success' }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup dotnet | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: ${{ matrix.dotnet-version }} | |
- name: Setup dependencies | |
run: | | |
# dnf -y install dpkg rpmdevtools # flatpak flatpak-builder pandoc | |
sudo apt-get -y install dpkg rpm flatpak flatpak-builder pandoc | |
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo | |
# echo ${{ env.MULTIENV }} | |
#if "${{ env.MULTIENV }}" == "true"; then | |
sudo flatpak install -y flathub org.freedesktop.Platform//23.08 org.freedesktop.Sdk//23.08 | |
dotnet tool install -g KuiperZone.PupNet | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Publish | |
run: | | |
# dotnet publish bookmark-dlp.sln --configuration Release --runtime win-x64 --self-contained | |
# runtime: [ 'linux-x64', 'linux-arm64' ] | |
# kind: [ 'appimage', 'deb', 'rpm', 'flatpak' ] | |
pupnet --runtime linux-x64 --kind appimage --build Release --app-version ${{ env.VERSION }} --verbose | |
pupnet --runtime linux-x64 --kind deb --build Release --app-version ${{ env.VERSION }} --verbose | |
pupnet --runtime linux-x64 --kind rpm --build Release --app-version ${{ env.VERSION }} --verbose | |
pupnet --runtime linux-x64 --kind flatpak --build Release --app-version ${{ env.VERSION }} --verbose | |
pupnet --runtime linux-arm64 --kind appimage --build Release --app-version ${{ env.VERSION }} --verbose | |
pupnet --runtime linux-arm64 --kind deb --build Release --app-version ${{ env.VERSION }} --verbose | |
# pupnet --runtime linux-arm64 --kind rpm --build Release --app-version ${{ env.VERSION }} --verbose | |
pupnet --runtime linux-arm64 --kind flatpak --build Release --app-version ${{ env.VERSION }} --verbose | |
- name: "List all files" | |
run: | | |
echo $PWD | |
ls -R | |
# no need to rename, pupnet names things according to conventions | |
# no need to delete/create release here, it was resolved in "release" job | |
- name: Upload | |
env: | |
GH_TOKEN: ${{ github.token }} | |
run: | | |
# gh release upload "${{ env.VERSION }}" "./pupnet/out/*" --clobber | |
gh release upload "${{ env.VERSION }}" ./pupnet/out/bookmark-dlp-${{ env.VERSION }}-1.aarch64.flatpak --clobber | |
gh release upload "${{ env.VERSION }}" ./pupnet/out/bookmark-dlp-${{ env.VERSION }}-1.x86_64.flatpak --clobber | |
gh release upload "${{ env.VERSION }}" ./pupnet/out/bookmark-dlp-${{ env.VERSION }}-1.x86_64.AppImage --clobber | |
gh release upload "${{ env.VERSION }}" ./pupnet/out/bookmark-dlp_${{ env.VERSION }}-1.x86_64.rpm --clobber | |
gh release upload "${{ env.VERSION }}" ./pupnet/out/bookmark-dlp_${{ env.VERSION }}-1_amd64.deb --clobber | |
gh release upload "${{ env.VERSION }}" ./pupnet/out/bookmark-dlp_${{ env.VERSION }}-1_arm64.deb --clobber | |
#comments https://github.com/seerge/g-helper/blob/main/.github/workflows/release.yml | |
# Optional global.json location, if your global.json isn't located in the root of the repo. | |
#global-json-file: | |
# Optional package source for which to set up authentication. Will consult any existing NuGet.config in the root of the repo and provide a temporary NuGet.config using the NUGET_AUTH_TOKEN environment variable as a ClearTextPassword | |
#source-url: | |
# Optional NuGet.config location, if your NuGet.config isn't located in the root of the repo. | |
#config-file: # optional |