tauri/.github/workflows/build-smoke-tests.yml
Jacob Bolda 6eb1837181 [WIP] example / gatsby / themed-site (#120)
* add themed gatsby site as example and test target

* add specific example ignores to gitignore

* update api key reference

* theme needs the alpha version currently

* update and pin deps

* remove lock file, we want a fresh build to test every time

* add recipe theme for cheap way to add to ton of site pages

* add tauri as dev dep

* build gatsby as a smoke test

* cd on each step

* pass api key

* chore(package.json): update

* schedule renovate to tone down noisiness (#122)

Also, there is a running theory that Tuesday is a good day for upgrades.

* combine jobs and add step with conditional (#121)

* combine jobs and add step with conditional

* too many equals

* Update dependency fast-glob to v3.1.1 (#113)

* chore(yarn.lock): update

* chore(versions): bump tauri.js & tauri

* feat(gatsby): include tauri resources

* feat(build): tauri build works

* tauri prod and source scripts

* add build from source and artifact upload to action

* don't need to init, examples are already

* point to direct executable with matrix

* ignore WixTools from build

* config app name

* build and install source deps before build project on source

* odd things when tauri is defined in a script, remove

* set gatsby config to what is believed will be ~es5

* babel plugin is actually neeeded

* run subscripts with yarn

* lower timeout limit to 30 minutes, easy to swamp CI with this

* shorten job names

* install tauri-cli (rust)

* make API key optional (sort of hacky)

* install rust for prod for cargo command following

* artifact name cannot have / within it

* windows is running a tad slow
2019-12-02 15:20:20 +01:00

95 lines
2.6 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: [gatsby/themed-site]
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 3
- name: install stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: cargo install tauri-cli
- 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: gatsby/themed-site
executable: GatsbyThemedSiteApp
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 3
- name: install 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: build rust
run: cargo build
env:
TAURI_DIST_DIR: ../../test/fixture/dist
TAURI_CONFIG_DIR: ../test/fixture/
- run: cargo install --path ./cli/tauri-cli --force
- name: install cli deps via yarn
run: |
cd ./cli/tauri.js
yarn
- 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: tauri built ${{ matrix.example.name }} on ${{ matrix.platform }}
path: ./examples/${{ matrix.example.folder }}/src-tauri/target/release/${{ matrix.example.executable }}