mirror of
				https://github.com/2dust/v2rayN.git
				synced 2025-10-31 04:22:51 +00:00 
			
		
		
		
	![dependabot[bot]](/assets/img/avatar_default.png) bf3703bca1
			
		
	
	
		bf3703bca1
		
			
		
	
	
	
		
			
	
		
	
	
		
			Some checks are pending
		
		
	
	release Linux / build (Release) (push) Waiting to run
				
			release Linux / rpm (push) Blocked by required conditions
				
			release macOS / build (Release) (push) Waiting to run
				
			release Windows desktop (Avalonia UI) / build (Release) (push) Waiting to run
				
			release Windows / build (Release) (push) Waiting to run
				
			Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 6. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v4...v6) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
		
			
				
	
	
		
			151 lines
		
	
	
	
		
			4.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
	
		
			4.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: release Linux
 | |
| 
 | |
| on:
 | |
|   workflow_dispatch:
 | |
|     inputs:
 | |
|       release_tag:
 | |
|         required: false
 | |
|         type: string
 | |
|   push:
 | |
|     branches:
 | |
|       - master
 | |
|     tags:
 | |
|       - 'v*'
 | |
|       - 'V*'
 | |
| 
 | |
| permissions:
 | |
|   contents: write
 | |
| 
 | |
| env:
 | |
|   OutputArch: "linux-64"
 | |
|   OutputArchArm: "linux-arm64"
 | |
|   OutputPath64:  "${{ github.workspace }}/v2rayN/Release/linux-64"
 | |
|   OutputPathArm64:  "${{ github.workspace }}/v2rayN/Release/linux-arm64"
 | |
| 
 | |
| jobs:
 | |
|   build:
 | |
|     strategy:
 | |
|       matrix:
 | |
|         configuration: [Release]
 | |
|     runs-on: ubuntu-24.04
 | |
| 
 | |
|     steps:
 | |
|     - name: Checkout
 | |
|       uses: actions/checkout@v5.0.0
 | |
|       with:
 | |
|         submodules: 'recursive'
 | |
|         fetch-depth: '0'
 | |
| 
 | |
|     - name: Setup .NET
 | |
|       uses: actions/setup-dotnet@v5.0.0
 | |
|       with:
 | |
|         dotnet-version: '8.0.x'
 | |
| 
 | |
|     - name: Build
 | |
|       run: |
 | |
|         cd v2rayN
 | |
|         dotnet publish ./v2rayN.Desktop/v2rayN.Desktop.csproj -c Release -r linux-x64   --self-contained=true -o "$OutputPath64"
 | |
|         dotnet publish ./v2rayN.Desktop/v2rayN.Desktop.csproj -c Release -r linux-arm64 --self-contained=true -o "$OutputPathArm64"
 | |
|         dotnet publish ./AmazTool/AmazTool.csproj             -c Release -r linux-x64   --self-contained=true -p:PublishTrimmed=true -o "$OutputPath64"
 | |
|         dotnet publish ./AmazTool/AmazTool.csproj             -c Release -r linux-arm64 --self-contained=true -p:PublishTrimmed=true -o "$OutputPathArm64"        
 | |
| 
 | |
|     - name: Upload build artifacts
 | |
|       uses: actions/upload-artifact@v5.0.0
 | |
|       with:
 | |
|         name: v2rayN-linux
 | |
|         path: |
 | |
|           ${{ github.workspace }}/v2rayN/Release/linux*          
 | |
| 
 | |
|     # release debian package
 | |
|     - name: Package debian
 | |
|       if: github.event.inputs.release_tag != ''
 | |
|       run: |
 | |
|         chmod 755 package-debian.sh
 | |
|         ./package-debian.sh "$OutputArch" "$OutputPath64" "${{ github.event.inputs.release_tag }}"
 | |
|         ./package-debian.sh "$OutputArchArm" "$OutputPathArm64" "${{ github.event.inputs.release_tag }}"        
 | |
| 
 | |
|     - name: Upload deb to release
 | |
|       uses: svenstaro/upload-release-action@v2
 | |
|       if: github.event.inputs.release_tag != ''
 | |
|       with:
 | |
|         file: ${{ github.workspace }}/v2rayN*.deb
 | |
|         tag: ${{ github.event.inputs.release_tag }}
 | |
|         file_glob: true
 | |
|         prerelease: true
 | |
| 
 | |
|     # release zip archive
 | |
|     - name: Package release zip archive
 | |
|       if: github.event.inputs.release_tag != ''
 | |
|       run: |
 | |
|         chmod 755 package-release-zip.sh
 | |
|         ./package-release-zip.sh "$OutputArch" "$OutputPath64"
 | |
|         ./package-release-zip.sh "$OutputArchArm" "$OutputPathArm64"        
 | |
|     
 | |
|     - name: Upload zip archive to release
 | |
|       uses: svenstaro/upload-release-action@v2
 | |
|       if: github.event.inputs.release_tag != ''
 | |
|       with:
 | |
|         file: ${{ github.workspace }}/v2rayN*.zip
 | |
|         tag: ${{ github.event.inputs.release_tag }}
 | |
|         file_glob: true
 | |
|         prerelease: true
 | |
| 
 | |
|   rpm:
 | |
|     needs: build
 | |
|     if: |
 | |
|       (github.event_name == 'workflow_dispatch' && github.event.inputs.release_tag != '') ||
 | |
|       (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/'))      
 | |
|     runs-on: ubuntu-24.04
 | |
|     container:
 | |
|       image: quay.io/almalinuxorg/10-base:latest
 | |
|       options: --platform=linux/amd64/v2
 | |
|     env:
 | |
|       RELEASE_TAG: ${{ github.event.inputs.release_tag != '' && github.event.inputs.release_tag || github.ref_name }}
 | |
| 
 | |
|     steps:
 | |
|     - name: Prepare tools (Red Hat)
 | |
|       run: |
 | |
|         dnf -y makecache
 | |
|         dnf -y install epel-release
 | |
|         dnf -y install sudo git rpm-build rpmdevtools dnf-plugins-core rsync findutils tar gzip unzip which        
 | |
| 
 | |
|     - name: Checkout repo (for scripts)
 | |
|       uses: actions/checkout@v5.0.0
 | |
|       with:
 | |
|         submodules: 'recursive'
 | |
|         fetch-depth: '0'
 | |
| 
 | |
|     - name: Restore build artifacts
 | |
|       uses: actions/download-artifact@v6
 | |
|       with:
 | |
|         name: v2rayN-linux
 | |
|         path: ${{ github.workspace }}/v2rayN/Release
 | |
| 
 | |
|     - name: Ensure script permissions
 | |
|       run: chmod 755 package-rhel.sh
 | |
| 
 | |
|     - name: Package RPM (RHEL-family)
 | |
|       run: ./package-rhel.sh "${RELEASE_TAG}" --arch all
 | |
| 
 | |
|     - name: Collect RPMs into workspace
 | |
|       run: |
 | |
|         mkdir -p "$GITHUB_WORKSPACE/dist/rpm"
 | |
|         rsync -av "$HOME/rpmbuild/RPMS/" "$GITHUB_WORKSPACE/dist/rpm/" || true
 | |
|         find "$GITHUB_WORKSPACE/dist/rpm" -name "v2rayN-*-1*.x86_64.rpm"  -exec mv {} "$GITHUB_WORKSPACE/dist/rpm/v2rayN-linux-rhel-64.rpm" \;  || true
 | |
|         find "$GITHUB_WORKSPACE/dist/rpm" -name "v2rayN-*-1*.aarch64.rpm" -exec mv {} "$GITHUB_WORKSPACE/dist/rpm/v2rayN-linux-rhel-arm64.rpm" \; || true
 | |
|         echo "==== Dist tree ===="
 | |
|         ls -R "$GITHUB_WORKSPACE/dist/rpm" || true        
 | |
| 
 | |
|     - name: Upload RPM artifacts
 | |
|       uses: actions/upload-artifact@v5.0.0
 | |
|       with:
 | |
|         name: v2rayN-rpm
 | |
|         path: dist/rpm/**/*.rpm
 | |
| 
 | |
|     - name: Upload RPMs to release
 | |
|       uses: svenstaro/upload-release-action@v2
 | |
|       with:
 | |
|         file: dist/rpm/**/*.rpm
 | |
|         tag: ${{ env.RELEASE_TAG }}
 | |
|         file_glob: true
 | |
|         prerelease: true
 |