diff --git a/.github/workflows/README.md b/.github/workflows/README.md index 71d046348..cc91735fb 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -8,6 +8,4 @@ - On each pull request, we are triggering `cargo test`. - On each commit on master, we are building the latest docker image. - -## TODO -- On each tag, we should build the tagged docker image and the binaries for Debian & CentOS +- On each tag, we are building the tagged docker image and the binaries for MacOS & Ubuntu. diff --git a/.github/workflows/publish-binaries.yml b/.github/workflows/publish-binaries.yml new file mode 100644 index 000000000..f7d7708ab --- /dev/null +++ b/.github/workflows/publish-binaries.yml @@ -0,0 +1,36 @@ +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] + include: + - os: ubuntu-latest + artifact_name: meilidb-http + asset_name: meilidb-http-linux-amd64 + - os: macos-latest + artifact_name: meilidb-http + asset_name: meilidb-http-macos-amd64 + + 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.GITHUB_TOKEN }} + file: target/release/${{ matrix.artifact_name }} + asset_name: ${{ matrix.asset_name }} + tag: ${{ github.ref }}