mirror of
https://github.com/tauri-apps/tauri.git
synced 2024-11-28 20:48:52 +03:00
8df78e29b6
* shift example and slim config removed gatsby-source-airtable and gatsby-theme-recipes to make things more simple, less fragile and speed up the build * update action to point at new location * update links * add test articles * add theme * slim config, move to homepage folder * update renovate path, enable automerge on examples * turn off rebases, but keep on for examples
170 lines
5.9 KiB
YAML
170 lines
5.9 KiB
YAML
name: build smoke tests
|
|
|
|
on: pull_request
|
|
|
|
jobs:
|
|
via-prod:
|
|
runs-on: ${{ matrix.platform }}
|
|
timeout-minutes: 40
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
platform: [ubuntu-latest, macos-latest, windows-latest]
|
|
example: [react/gatsby-themed-site, vue/quasar-app]
|
|
include:
|
|
- platform: ubuntu-latest
|
|
CARGO_HOME: ~/.cargo
|
|
- platform: macos-latest
|
|
CARGO_HOME: ~/.cargo
|
|
- platform: windows-latest
|
|
CARGO_HOME: ~/.cargo
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
with:
|
|
fetch-depth: 3
|
|
- name: install rust stable
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
- name: install webkit2gtk (ubuntu only)
|
|
if: matrix.platform == 'ubuntu-latest'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y webkit2gtk-4.0
|
|
- name: cache rust bin
|
|
id: cache_rust_bin
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ${{ format('{0}/bin/', matrix.CARGO_HOME) }}
|
|
key: ${{ runner.OS }}-build-bin-${{ hashFiles('**/Cargo.lock') }}-
|
|
- name: cache rust registry/index
|
|
id: cache_rust_reg_index
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ${{ format('{0}/registry/index/', matrix.CARGO_HOME) }}
|
|
key: ${{ runner.OS }}-build-reg-index-${{ hashFiles('**/Cargo.lock') }}-
|
|
- name: cache rust registry/cache
|
|
id: cache_rust_reg_cache
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ${{ format('{0}/registry/cache/', matrix.CARGO_HOME) }}
|
|
key: ${{ runner.OS }}-build-reg-cache-${{ hashFiles('**/Cargo.lock') }}-
|
|
- run: cargo install tauri-cli --force
|
|
# if we pull from cache, this will be skipped, but force just in case cache has an issue but it does exist
|
|
if: steps.cache_rust_bin.outputs.cache-hit != 'true' || steps.cache_rust_reg_index.outputs.cache-hit != 'true' || steps.cache_rust_reg_cache.outputs.cache-hit != 'true'
|
|
- name: cache node modules
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ${{ format('examples/{0}/node_modules', matrix.example) }}
|
|
key: ${{ runner.OS }}-build-${{ hashFiles(format('examples/{0}/yarn.lock', matrix.example)) }}
|
|
restore-keys: ${{ runner.OS }}-build-${{ env.cache-name }}-
|
|
- name: install via yarn
|
|
run: |
|
|
cd ./examples/${{ matrix.example }}
|
|
yarn
|
|
- name: build example
|
|
env:
|
|
EXAMPLE_GATSBY_AIRTABLE_API_KEY: ${{ secrets.EXAMPLE_GATSBY_AIRTABLE_API_KEY }}
|
|
run: |
|
|
cd ./examples/${{ matrix.example }}
|
|
yarn build
|
|
- name: yarn tauri build
|
|
run: |
|
|
cd ./examples/${{ matrix.example }}
|
|
yarn tauri:prod:build
|
|
|
|
via-source:
|
|
runs-on: ${{ matrix.platform }}
|
|
timeout-minutes: 40
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
platform: [ubuntu-latest, macos-latest, windows-latest]
|
|
example:
|
|
- name : GatsbyThemedSite
|
|
folder: react/gatsby-themed-site
|
|
executable: GatsbyThemedSiteApp
|
|
- name: quasar-app
|
|
folder: vue/quasar-app
|
|
executable: app
|
|
include:
|
|
- platform: ubuntu-latest
|
|
CARGO_HOME: ~/.cargo
|
|
releaseFolder: target/release/bundle/deb
|
|
ext: _0.1.0_amd64.deb
|
|
- platform: macos-latest
|
|
CARGO_HOME: ~/.cargo
|
|
releaseFolder: target/release/bundle/osx
|
|
ext: .app
|
|
- platform: windows-latest
|
|
CARGO_HOME: ~/.cargo
|
|
releaseFolder: target/release
|
|
ext: .x86.msi
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
with:
|
|
fetch-depth: 3
|
|
- name: install rust stable
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
- name: install webkit2gtk (ubuntu only)
|
|
if: matrix.platform == 'ubuntu-latest'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y webkit2gtk-4.0
|
|
- name: cache rust bin
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ${{ format('{0}/bin/', matrix.CARGO_HOME) }}
|
|
key: ${{ runner.OS }}-build-bin-${{ hashFiles('**/Cargo.lock') }}-
|
|
- name: cache rust registry/index
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ${{ format('{0}/registry/index/', matrix.CARGO_HOME) }}
|
|
key: ${{ runner.OS }}-build-reg-index-${{ hashFiles('**/Cargo.lock') }}-
|
|
- name: cache rust registry/cache
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ${{ format('{0}/registry/cache/', matrix.CARGO_HOME) }}
|
|
key: ${{ runner.OS }}-build-reg-cache-${{ hashFiles('**/Cargo.lock') }}-
|
|
- name: build rust
|
|
run: cargo build
|
|
env:
|
|
TAURI_DIST_DIR: ../../test/fixture/dist
|
|
TAURI_DIR: ../test/fixture
|
|
- run: cargo install --path ./cli/tauri-cli --force
|
|
- name: install cli deps via yarn
|
|
run: |
|
|
cd ./cli/tauri.js
|
|
yarn
|
|
- name: cache node modules
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ${{ format('examples/{0}/node_modules', matrix.example.folder) }}
|
|
key: ${{ runner.OS }}-build-${{ hashFiles(format('examples/{0}/yarn.lock', matrix.example.folder)) }}
|
|
restore-keys: ${{ runner.OS }}-build-${{ env.cache-name }}-
|
|
- name: install via yarn
|
|
run: |
|
|
cd ./examples/${{ matrix.example.folder }}
|
|
yarn
|
|
- name: build example
|
|
env:
|
|
EXAMPLE_GATSBY_AIRTABLE_API_KEY: ${{ secrets.EXAMPLE_GATSBY_AIRTABLE_API_KEY }}
|
|
run: |
|
|
cd ./examples/${{ matrix.example.folder }}
|
|
yarn build
|
|
- name: yarn tauri build
|
|
run: |
|
|
cd ./examples/${{ matrix.example.folder }}
|
|
yarn tauri:source:build
|
|
- uses: actions/upload-artifact@v1
|
|
if: success()
|
|
with:
|
|
name: ${{ matrix.example.name }}(${{ matrix.platform }})
|
|
path: ${{ format('./examples/{0}/src-tauri/{1}/{2}{3}', matrix.example.folder, matrix.releaseFolder, matrix.example.executable, matrix.ext ) }}
|