1+ name : Build release
2+
3+ on :
4+ workflow_dispatch :
5+ inputs :
6+ asl_version :
7+ description : " Optional: asl version to use as tag_name (leave blank to use the latest remote version)"
8+ required : false
9+ release_name :
10+ description : " Optional: Custom release name (asl v* release)"
11+ required : false
12+ push :
13+ branches : [ "main" ]
14+ paths :
15+ - **
16+ pull_request :
17+
18+ jobs :
19+ check_update :
20+ name : Check update
21+ runs-on : ubuntu-latest
22+ steps :
23+ - name : Check latest version
24+ id : check_version
25+ run : |
26+ remote_version=$(curl -L https://api.github.com/repos/Moe-hacker/asl/releases/latest | jq -r .tag_name)
27+ remote_name=$(curl -L https://api.github.com/repos/Moe-hacker/asl/releases/latest | jq -r .name)
28+ echo "remote_version=$remote_version" | tee -a $GITHUB_OUTPUT
29+ echo "remote_name=$remote_name" | tee -a $GITHUB_OUTPUT
30+ outputs :
31+ remote_version : ${{ steps.check_version.outputs.remote_version }}
32+ remote_name : ${{ steps.check_version.outputs.remote_name }}
33+
34+ build :
35+ name : Build
36+ needs : check_update
37+ runs-on : ubuntu-latest
38+ permissions :
39+ contents : write
40+ steps :
41+ - name : Set env
42+ run : |
43+ if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
44+ if [ -n "${{ github.event.inputs.asl_version }}" ]; then
45+ echo "version=${{ github.event.inputs.asl_version }}" | tee -a $GITHUB_ENV
46+ else
47+ echo "version=${{ needs.check_update.outputs.remote_version }}" | tee -a $GITHUB_ENV
48+ fi
49+
50+ if [ -n "${{ github.event.inputs.release_name }}" ]; then
51+ echo "release_name=${{ github.event.inputs.release_name }}" | tee -a $GITHUB_ENV
52+ elif [ -n "${{ github.event.inputs.asl_version }}" ]; then
53+ echo "release_name=${{ github.event.inputs.asl_version }}" | tee -a $GITHUB_ENV
54+ else
55+ echo "release_name=${{ needs.check_update.outputs.remote_name }}" | tee -a $GITHUB_ENV
56+ fi
57+ else
58+ echo "version=${{ needs.check_update.outputs.remote_version }}" | tee -a $GITHUB_ENV
59+ echo "release_name=${{ needs.check_update.outputs.remote_name }}" | tee -a $GITHUB_ENV
60+ fi
61+ echo "build_time=$(TZ=Asia/Shanghai date '+%Y%m%d%H%M')" | tee -a $GITHUB_ENV
62+
63+ - uses : actions/checkout@v4
64+ - name : Build-Release
65+ run : |
66+ apt install -y zip
67+ bash build/build.sh
68+
69+ - name : Release
70+ uses : softprops/action-gh-release@v2
71+ with :
72+ tag_name : ${{ env.version }}
73+ name : ${{ env.release_name }}
74+ body : |
75+ You can only install one of these modules.
76+ prerelease : false
77+ files : |
78+ ${{ github.workspace }}asl-archlinux-current.zip
79+ ${{ github.workspace }}/asl-alpine-edge.zip
80+ ${{ github.workspace }}/asl-centos-9-Stream.zip
81+ ${{ github.workspace }}/asl-debian-bookworm.zip
82+ ${{ github.workspace }}/asl-ubuntu-jammy.zip
83+ ${{ github.workspace }}/asl-ubuntu-oracular.zip
0 commit comments