EasyTier/.github/workflows/release.yml
2024-08-24 10:13:30 +08:00

93 lines
2.7 KiB
YAML

name: EasyTier Release
on:
workflow_dispatch:
inputs:
core_run_id:
description: 'The run id of EasyTier-Core Action in EasyTier repo'
type: number
default: 10322498549
required: true
gui_run_id:
description: 'The run id of EasyTier-GUI Action in EasyTier repo'
type: number
default: 10322498557
required: true
mobile_run_id:
description: 'The run id of EasyTier-Mobile Action in EasyTier repo'
type: number
default: 10322498555
required: true
version:
description: 'Version for this release'
type: string
default: 'v1.2.2'
required: true
make_latest:
description: 'Mark this release as latest'
type: boolean
default: true
required: true
permissions:
contents: write
jobs:
release:
if: contains('["KKRainbow"]', github.actor)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download Core Artifact
uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
run_id: ${{ inputs.core_run_id }}
repo: EasyTier/EasyTier
path: release_assets_origin
- name: Download GUI Artifact
uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
run_id: ${{ inputs.gui_run_id }}
repo: EasyTier/EasyTier
path: release_assets_origin
- name: Download Mobile Artifact
uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{secrets.GITHUB_TOKEN}}
run_id: ${{ inputs.mobile_run_id }}
repo: EasyTier/EasyTier
path: release_assets_origin
- name: Prepare release assets
env:
VERSION: ${{ inputs.version }}
run: |
mkdir -p release_assets
# Copy files that don't need compression
find release_assets_origin -type f \( -name "*.dmg" -o -name "*.deb" -o -name "*.exe" -o -name "*.apk" \) -exec cp {} release_assets/ \;
# Compress other files
zip -r release_assets/EasyTier-${VERSION}.zip release_assets_origin -x "*.dmg" -x "*.deb" -x "*.exe" -x "*.apk"
echo "Contents of release_assets_origin:"
ls -R release_assets_origin
echo "Contents of release_assets:"
ls -l release_assets
- name: Release
uses: softprops/action-gh-release@v2
with:
name: ${{ inputs.version }}
draft: true
files: ./release_assets/*
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: ${{ inputs.version }}