You can ln rurima to ruri now #140
This file contains hidden or 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
| name: Build release | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| ruri_version: | |
| description: "Optional: rurima version to use as tag_name (leave blank to use the latest remote version)" | |
| required: false | |
| release_name: | |
| description: "Optional: Custom release name (rurima v* release)" | |
| required: false | |
| push: | |
| branches: [ "main" ] | |
| paths: | |
| - 'src/**' | |
| - 'build/**' | |
| - 'gen-config' | |
| - 'Makefile' | |
| pull_request: | |
| jobs: | |
| check_update: | |
| name: Check update | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check latest version | |
| id: check_version | |
| run: | | |
| remote_version=$(curl -L https://api.github.com/repos/Moe-hacker/rurima/releases/latest | jq -r .tag_name) | |
| remote_name=$(curl -L https://api.github.com/repos/Moe-hacker/rurima/releases/latest | jq -r .name) | |
| echo "remote_version=$remote_version" | tee -a $GITHUB_OUTPUT | |
| echo "remote_name=$remote_name" | tee -a $GITHUB_OUTPUT | |
| outputs: | |
| remote_version: ${{ steps.check_version.outputs.remote_version }} | |
| remote_name: ${{ steps.check_version.outputs.remote_name }} | |
| build: | |
| name: Build | |
| needs: check_update | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Set env | |
| run: | | |
| if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then | |
| if [ -n "${{ github.event.inputs.ruri_version }}" ]; then | |
| echo "version=${{ github.event.inputs.ruri_version }}" | tee -a $GITHUB_ENV | |
| else | |
| echo "version=${{ needs.check_update.outputs.remote_version }}" | tee -a $GITHUB_ENV | |
| fi | |
| if [ -n "${{ github.event.inputs.release_name }}" ]; then | |
| echo "release_name=${{ github.event.inputs.release_name }}" | tee -a $GITHUB_ENV | |
| elif [ -n "${{ github.event.inputs.ruri_version }}" ]; then | |
| echo "release_name=${{ github.event.inputs.ruri_version }}" | tee -a $GITHUB_ENV | |
| else | |
| echo "release_name=${{ needs.check_update.outputs.remote_name }}" | tee -a $GITHUB_ENV | |
| fi | |
| else | |
| echo "version=${{ needs.check_update.outputs.remote_version }}" | tee -a $GITHUB_ENV | |
| echo "release_name=${{ needs.check_update.outputs.remote_name }}" | tee -a $GITHUB_ENV | |
| fi | |
| echo "build_time=$(TZ=Asia/Shanghai date '+%Y%m%d%H%M')" | tee -a $GITHUB_ENV | |
| - uses: actions/checkout@v4 | |
| - name: Build-Release | |
| run: | | |
| cd build | |
| sudo bash build-all.sh | |
| - name: Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| tag_name: ${{ env.version }} | |
| name: ${{ env.release_name }} | |
| body: | | |
| This is ruri binary release. | |
| Build time: ${{ env.build_time }} | |
| prerelease: false | |
| files: | | |
| ${{ github.workspace }}/x86_64.tar | |
| ${{ github.workspace }}/i386.tar | |
| ${{ github.workspace }}/s390x.tar | |
| ${{ github.workspace }}/ppc64le.tar | |
| ${{ github.workspace }}/loongarch64.tar | |
| ${{ github.workspace }}/armv7.tar | |
| ${{ github.workspace }}/armhf.tar | |
| ${{ github.workspace }}/aarch64.tar | |
| ${{ github.workspace }}/riscv64.tar |