diff --git a/.github/workflows/publish-binaries.yml b/.github/workflows/publish-binaries.yml index db17d9d13..1b2de807f 100644 --- a/.github/workflows/publish-binaries.yml +++ b/.github/workflows/publish-binaries.yml @@ -32,30 +32,55 @@ jobs: if: github.event_name == 'release' && steps.check-tag-format.outputs.stable == 'true' run: bash .github/scripts/check-release.sh - publish: + publish-linux: + name: Publish binary for Linux + runs-on: ubuntu-latest + needs: check-version + container: + image: ubuntu:18.04 + steps: + - uses: actions/checkout@v3 + - name: Install needed dependencies + run: | + apt-get update && apt-get install -y curl + apt-get install build-essential -y + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + - name: Build + run: cargo build --release --locked + # No need to upload binaries for dry run (cron) + - name: Upload binaries to release + if: github.event_name == 'release' + uses: svenstaro/upload-release-action@2.3.0 + with: + repo_token: ${{ secrets.MEILI_BOT_GH_PAT }} + file: target/release/meilisearch + asset_name: meilisearch-linux-amd64 + tag: ${{ github.ref }} + + publish-macos-windows: name: Publish binary for ${{ matrix.os }} runs-on: ${{ matrix.os }} needs: check-version strategy: fail-fast: false matrix: - os: [ubuntu-18.04, macos-latest, windows-latest] + os: [macos-latest, windows-latest] include: - - os: ubuntu-18.04 - 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@v3 + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true - name: Build run: cargo build --release --locked # No need to upload binaries for dry run (cron) @@ -80,7 +105,6 @@ jobs: - os: macos-latest target: aarch64-apple-darwin asset_name: meilisearch-macos-apple-silicon - steps: - name: Checkout repository uses: actions/checkout@v3 @@ -121,11 +145,9 @@ jobs: linker: gcc-aarch64-linux-gnu use-cross: true asset_name: meilisearch-linux-aarch64 - steps: - name: Checkout repository uses: actions/checkout@v3 - - name: Installing Rust toolchain uses: actions-rs/toolchain@v1 with: @@ -133,16 +155,13 @@ jobs: profile: minimal target: ${{ matrix.target }} override: true - - name: APT update run: | sudo apt update - - name: Install target specific tools if: matrix.use-cross run: | sudo apt-get install -y ${{ matrix.linker }} - - name: Configure target aarch64 GNU if: matrix.target == 'aarch64-unknown-linux-gnu' ## Environment variable is not passed using env: @@ -154,17 +173,14 @@ jobs: echo '[target.aarch64-unknown-linux-gnu]' >> ~/.cargo/config echo 'linker = "aarch64-linux-gnu-gcc"' >> ~/.cargo/config echo 'JEMALLOC_SYS_WITH_LG_PAGE=16' >> $GITHUB_ENV - - name: Cargo build uses: actions-rs/cargo@v1 with: command: build use-cross: ${{ matrix.use-cross }} args: --release --target ${{ matrix.target }} - - name: List target output files run: ls -lR ./target - - name: Upload the binary to release # No need to upload binaries for dry run (cron) if: github.event_name == 'release' diff --git a/.github/workflows/publish-deb-brew-pkg.yml b/.github/workflows/publish-deb-brew-pkg.yml index 3d9446321..da30e65f4 100644 --- a/.github/workflows/publish-deb-brew-pkg.yml +++ b/.github/workflows/publish-deb-brew-pkg.yml @@ -15,12 +15,19 @@ jobs: debian: name: Publish debian packagge - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest needs: check-version + container: + image: ubuntu:18.04 steps: - - uses: hecrj/setup-rust-action@master + - name: Install needed dependencies + run: | + apt-get update && apt-get install -y curl + apt-get install build-essential -y + - uses: actions-rs/toolchain@v1 with: - rust-version: stable + toolchain: stable + override: true - name: Install cargo-deb run: cargo install cargo-deb - uses: actions/checkout@v3 diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index ea2b0bbff..1ec5ae9ea 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -22,7 +22,7 @@ jobs: image: ubuntu:18.04 steps: - uses: actions/checkout@v3 - - name: Install rustup + - name: Install needed dependencies run: | apt-get update && apt-get install -y curl apt-get install build-essential -y @@ -73,7 +73,7 @@ jobs: image: ubuntu:18.04 steps: - uses: actions/checkout@v3 - - name: Install rustup + - name: Install needed dependencies run: | apt-get update && apt-get install -y curl apt-get install build-essential -y