name: Publish binaries to GitHub release on: push: tags: - '*' jobs: publish: name: Publish for ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] include: - os: ubuntu-latest artifact_name: meilisearch asset_name: meilisearch-linux-amd64 - os: macos-latest artifact_name: meilisearch asset_name: meilisearch-macos-amd64 - os: windows-latest artifact_name: meilisearch.exe asset_name: meilisearch-windows-amd64.exe steps: - uses: hecrj/setup-rust-action@master with: rust-version: stable - uses: actions/checkout@v1 - name: Build run: cargo build --release --locked - name: Upload binaries to release uses: svenstaro/upload-release-action@v1-release with: repo_token: ${{ secrets.PUBLISH_TOKEN }} file: target/release/${{ matrix.artifact_name }} asset_name: ${{ matrix.asset_name }} tag: ${{ github.ref }} publish-armv7: name: Publish for ARMv7 runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v1.0.0 - uses: uraimo/run-on-arch-action@v1.0.7 id: runcmd with: architecture: armv7 distribution: ubuntu18.04 run: | apt update apt install -y curl gcc make curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable source $HOME/.cargo/env cargo build --release --locked - name: Upload the binary to release uses: svenstaro/upload-release-action@v1-release with: repo_token: ${{ secrets.PUBLISH_TOKEN }} file: target/release/meilisearch asset_name: meilisearch-linux-armv7 tag: ${{ github.ref }} publish-armv8: name: Publish for ARMv8 runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v1.0.0 - uses: uraimo/run-on-arch-action@v1.0.7 id: runcmd with: architecture: aarch64 # aka ARMv8 distribution: ubuntu18.04 run: | apt update apt install -y curl gcc make curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable source $HOME/.cargo/env cargo build --release --locked - name: Upload the binary to release uses: svenstaro/upload-release-action@v1-release with: repo_token: ${{ secrets.PUBLISH_TOKEN }} file: target/release/meilisearch asset_name: meilisearch-linux-armv8 tag: ${{ github.ref }}