Skip to content

Build

Build #5

Workflow file for this run

name: Build
on:
workflow_dispatch:
push:
tags:
- 'v*'
jobs:
build_desktop:
if: ${{ false }}
name: Build desktop app for ${{ matrix.platform }}
strategy:
matrix:
platform: [ macos-latest, ubuntu-latest, windows-latest ]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: yarn
node-version: 18
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: aarch64-apple-darwin
- name: (linux) install dependencies
if: matrix.platform == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 librsvg2-dev patchelf
- name: install app dependencies
run: yarn
- name: build apple-silicon app
if: matrix.platform == 'macos-latest'
run: yarn tauri:build --target aarch64-apple-darwin
- name: (mac arm) upload .dmg
if: matrix.platform == 'macos-latest'
uses: actions/upload-artifact@v3
with:
path: src-tauri/target/aarch64-apple-darwin/release/bundle/dmg/elasticvue_*_aarch64.dmg
- run: yarn tauri:build
- name: (mac) upload .dmg
if: matrix.platform == 'macos-latest'
uses: actions/upload-artifact@v3
with:
path: src-tauri/target/release/bundle/dmg/elasticvue_*_x64.dmg
- name: (linux) upload .deb
if: matrix.platform == 'ubuntu-latest'
uses: actions/upload-artifact@v3
with:
path: src-tauri/target/release/bundle/deb/elasticvue_*_amd64.deb
- name: (linux) upload .appimage
if: matrix.platform == 'ubuntu-latest'
uses: actions/upload-artifact@v3
with:
path: src-tauri/target/release/bundle/appimage/elasticvue_*_amd64.AppImage
- name: (linux) upload binary
id: linux_upload_binary
if: matrix.platform == 'ubuntu-latest'
uses: actions/upload-artifact@v3
with:
path: src-tauri/target/release/elasticvue
- name: (windows) upload .msi
if: matrix.platform == 'windows-latest'
uses: actions/upload-artifact@v3
with:
path: src-tauri/target/release/bundle/msi/elasticvue_*_x64_en-US.msi
- name: (windows) upload .exe
if: matrix.platform == 'windows-latest'
uses: actions/upload-artifact@v3
with:
path: src-tauri/target/release/elasticvue.exe
build_browser_extensions:
name: Build browser extensions
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: make build_browser_extensions
- name: upload chrome extension
uses: actions/upload-artifact@v3
with:
path: artifacts/*.zip
build_docker:
if: ${{ false }}
name: Build docker images
runs-on: ubuntu-latest
steps:
- name: Docker hub login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker buildx
uses: docker/setup-buildx-action@v2
- name: Get current package version
id: package-version
uses: martinbeentjes/npm-get-version-action@v1.2.3
- name: Build and push
uses: docker/build-push-action@v3
with:
context: .
platforms: linux/amd64,linux/arm64,linux/arm/v7
file: docker/Dockerfile_multiarch
push: true
tags: cars10/elasticvue-test:latest,cars10/elasticvue-test:${{ steps.package-version.outputs.current-version }}
publish:
name: Publish github release
needs:
#- build_desktop
- build_browser_extensions
#- build_docker
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v3
with:
path: github-artifacts
- run: ls -lah github-artifacts/artifact/*
- uses: ncipollo/release-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag: ${{github.ref_name}}
name: ${{github.ref_name}}
artifacts: "github-artifacts/artifact/*"
body: |
## Use
* [Docker](https://hub.docker.com/r/cars10/elasticvue)
* [Hosted](https://app.elasticvue.com)
## Browser extension
* [Google Chrome](https://chrome.google.com/webstore/detail/elasticvue/hkedbapjpblbodpgbajblpnlpenaebaa)
* [Mozilla Firefox](https://addons.mozilla.org/en-US/firefox/addon/elasticvue/)
* [Microsoft Edge](https://microsoftedge.microsoft.com/addons/detail/elasticvue/geifniocjfnfilcbeloeidajlfmhdlgo)
## Download desktop app
### Linux
* [Binary](https://github.com/cars10/elasticvue-test/releases/download/${{github.ref_name}}/elasticvue_*_linux_amd64)
* [.deb](https://github.com/cars10/elasticvue-test/releases/download/${{github.ref_name}}/elasticvue_*_linux_amd64.deb)
* [.AppImage](https://github.com/cars10/elasticvue-test/releases/download/${{github.ref_name}}/elasticvue_*_linux_amd64.AppImage)
### Mac
* [.dmg, x86 intel](https://github.com/cars10/elasticvue-test/releases/download/${{github.ref_name}}/elasticvue_*_macos_x64.dmg)
* [.dmg, aarch64 apple arm](https://github.com/cars10/elasticvue-test/releases/download/${{github.ref_name}}/elasticvue_*_macos_aarch64.dmg)
### Windows
* [.msi](https://github.com/cars10/elasticvue-test/releases/download/${{github.ref_name}}/elasticvue_*_windows_x64.exe)
* [.exe, WebView2 required](https://github.com/cars10/elasticvue-test/releases/download/${{github.ref_name}}/elasticvue_*_windows_x64_en-US.msi)