pim

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit b2d31b3f3c5e681c898f81767c27b22e49c63ac4
parent 17ae495843fcb799eae28dc7ba39fab1bd7ecff1
Author: minerva-jupiter <ryouturn@gmail.com>
Date:   Sun, 12 Jul 2026 10:27:31 +0900

feat(ci): add automated release workflow

Add a new GitHub Actions workflow to automatically build and publish release binaries for multiple platforms upon pushing a version tag.

Diffstat:
A.github/workflows/release.yml | 87+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 87 insertions(+), 0 deletions(-)

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml @@ -0,0 +1,87 @@ + +name: Release + +permissions: + contents: write + +on: + push: + tags: + - v* + +env: + CARGO_TERM_COLOR: always + +jobs: + Test: + uses: ./.github/workflows/testing.yml + + build: + needs: [Test] + runs-on: ${{ matrix.runner }} + env: + PROJECT_NAME: image-light-freq-conv + strategy: + fail-fast: false + matrix: + include: + - target: x86_64-unknown-linux-gnu + extension: "" + runner: ubuntu-latest + cross: true + - target: x86_64-pc-windows-msvc + extension: ".exe" + runner: windows-latest + cross: false + - target: aarch64-unknown-linux-gnu + extension: "" + runner: ubuntu-latest + cross: true + - target: aarch64-pc-windows-msvc + extension: ".exe" + runner: windows-latest + cross: false + - target: armv7-unknown-linux-gnueabihf + extension: "" + runner: ubuntu-latest + cross: true + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install Dependencies on Windows + if: ${{ matrix.runner == 'windows-latest' }} + run: | + choco install make --yes + - name: Install Dependencies on MacOS + if: ${{ matrix.runner == 'macos-latest' }} + run: | + brew install make + + - name: Install cross (if needed) + if: ${{ matrix.cross }} + run: cargo install cross --git https://github.com/cross-rs/cross + + - name: Build Project on cross + if: ${{ matrix.cross }} + run: | + cross build --release --target ${{ matrix.target }} --verbose + - name: Build Project + if: ${{ !matrix.cross }} + run: | + rustup target add ${{ matrix.target }} + cargo build --release --target ${{ matrix.target }} --verbose + + - name: Rename Artifacts + shell: bash + run: | + mv target/${{ matrix.target }}/release/${{ env.PROJECT_NAME }}{,-${{ github.ref_name }}-${{ matrix.target }}${{ matrix.extension }}} + + - name: Release Artifacts + uses: softprops/action-gh-release@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + files: | + target/${{ matrix.target }}/release/${{ env.PROJECT_NAME }}-${{ github.ref_name }}-${{ matrix.target }}${{ matrix.extension }}