Update cmd.rs #43
Workflow file for this run
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: release | |
| on: | |
| push: | |
| tags: | |
| - 'v*.*.*' | |
| workflow_dispatch: | |
| inputs: | |
| tag_name: | |
| description: 'The tag name for the release' | |
| required: true | |
| default: 'v0.0.1' | |
| draft: | |
| description: 'Create a draft release' | |
| required: false | |
| default: 'true' | |
| permissions: | |
| contents: write | |
| jobs: | |
| create-release: | |
| runs-on: ubuntu-22.04 | |
| outputs: | |
| VERSION: ${{ steps.set_version.outputs.VERSION }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Set Version | |
| id: set_version | |
| run: | | |
| if [ "${{ github.event_name }}" == "push" ]; then | |
| VERSION=${GITHUB_REF#refs/tags/} | |
| else | |
| VERSION=${{ inputs.tag_name }} | |
| fi | |
| echo "VERSION=$VERSION" >> $GITHUB_OUTPUT | |
| - name: Create release | |
| id: create_release | |
| uses: actions/create-release@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| tag_name: ${{ steps.set_version.outputs.VERSION }} | |
| release_name: Release ${{ steps.set_version.outputs.VERSION }} | |
| body: | | |
| Release ${{ steps.set_version.outputs.VERSION }} | |
| draft: true | |
| prerelease: false | |
| - name: Download win-kit resources | |
| uses: robinraju/[email protected] | |
| with: | |
| repository: "chainreactors/malefic-win-kit" | |
| latest: true | |
| fileName: "community_resource.zip" | |
| token: ${{ secrets.GH_PAT }} | |
| - name: Download rem lib | |
| uses: robinraju/[email protected] | |
| with: | |
| repository: "chainreactors/rem-community" | |
| latest: true | |
| fileName: "rem_lib.zip" | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Extract zip | |
| run: | | |
| unzip community_resource.zip -d community_resource | |
| unzip rem_lib.zip -d rem_lib | |
| mkdir resources_dir | |
| mv community_resource/* resources_dir/ | |
| mv rem_lib/dist/lib/*.a resources_dir/ | |
| cd resources_dir | |
| zip -r ../resources.zip ./* | |
| cd .. | |
| - name: Upload resources | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run : | | |
| gh release upload ${{ steps.set_version.outputs.VERSION }} resources.zip | |
| release-mutant: | |
| needs: create-release | |
| runs-on: ubuntu-22.04 | |
| continue-on-error: true | |
| strategy: | |
| matrix: | |
| target: | |
| - x86_64-pc-windows-gnu | |
| #- i686-pc-windows-msvc | |
| - x86_64-unknown-linux-musl | |
| #- i686-unknown-linux-musl | |
| - x86_64-apple-darwin | |
| - aarch64-apple-darwin | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| fetch-depth: 0 | |
| - name: Build malefic-mutant for ${{matrix.target}} | |
| shell: 'script --return --quiet --log-out /dev/null --command "bash -e {0}"' | |
| run: | | |
| mkdir -p output/ | |
| binary_name="malefic-mutant" | |
| release_dir="release" | |
| target_dir="target/${{matrix.target}}/${release_dir}" | |
| docker run -v "$(pwd):/root/src" --rm -it ghcr.io/chainreactors/malefic-builder:latest \ | |
| cargo build --release -p malefic-mutant --target ${{matrix.target}} | |
| sudo chmod 777 -R target/ | |
| if [[ -f ${target_dir}/${binary_name}.exe ]]; then | |
| mv ${target_dir}/${binary_name}.exe output/${binary_name}-${{matrix.target}}.exe | |
| else | |
| mv ${target_dir}/${binary_name} output/${binary_name}-${{matrix.target}} | |
| fi | |
| - name: Release ${{ matrix.target }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| cd output | |
| for file in *; do | |
| filename=$(basename "$file") | |
| echo "Uploading $filename" | |
| gh release upload ${{ needs.create-release.outputs.VERSION }} $filename | |
| done | |
| shell: bash |