Skip to content

chore(deps): update dependency eslint to v9 - autoclosed #400

chore(deps): update dependency eslint to v9 - autoclosed

chore(deps): update dependency eslint to v9 - autoclosed #400

Workflow file for this run

on:
workflow_dispatch:
pull_request:
types:
- closed
branches:
- dev
name: Release new version
jobs:
draft:
if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'release') && github.event.pull_request.merged == true
runs-on: ubuntu-latest
outputs:
version: ${{ steps.get_version.outputs.version }}
release_id: ${{ steps.draft.outputs.result }}
steps:
- uses: actions/checkout@v4
- id: get_version
run: |
echo version=$(cargo metadata --format-version 1 --no-deps | \
jq --raw-output '.packages | .[] | select(.name == "kiwi-talk-app").version') >> "$GITHUB_OUTPUT"
- name: draft release
id: draft
uses: actions/github-script@v7
with:
script: |
const { data } = await github.rest.repos.createRelease({
owner: context.repo.owner,
repo: context.repo.repo,
tag_name: 'v${{ steps.get_version.outputs.version }}',
target_commitish: '${{ github.ref }}',
name: 'KiwiTalk ${{ steps.get_version.outputs.version }}',
draft: true,
generate_release_notes: true
})
return data.id
build:
needs: [draft]
runs-on: ${{ matrix.platform.os }}
strategy:
matrix:
platform:
- os: ubuntu-latest
rust_target: x86_64-unknown-linux-gnu
- os: macos-latest
rust_target: x86_64-apple-darwin
- os: macos-latest
rust_target: aarch64-apple-darwin
- os: windows-latest
rust_target: x86_64-pc-windows-msvc
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 16
- uses: pnpm/action-setup@v2
with:
version: 9
- uses: dtolnay/rust-toolchain@stable
with:
target: ${{ matrix.platform.rust_target }}
- name: install dependencies (ubuntu only)
if: matrix.platform.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
- uses: Swatinem/rust-cache@v2
- name: install frontend packages
run: pnpm install
- uses: DamianReeves/write-file-action@master
with:
path: tmp_tauri.conf.json
contents: >
{"package": {"version": "${{ needs.draft.outputs.version }}"}}
write-mode: overwrite
- uses: tauri-apps/tauri-action@v0
with:
releaseId: ${{ needs.draft.outputs.release_id }}
args: "--target ${{ matrix.platform.rust_target }} --config tmp_tauri.conf.json"
updaterJsonPreferNsis: true
env:
CARGO_TARGET_DIR: ${{ github.workspace }}/target
GITHUB_TOKEN: ${{ github.token }}
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
publish:
needs: [draft, build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
git config user.name 'KiwiTalk Continuous Integration'
git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: install cargo-release
run: cargo install cargo-release
- name: publish crates
run: |
cargo release --unpublished \
--workspace \
--no-confirm \
--no-tag \
--no-push \
--execute
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
- run: gh release edit v${{ needs.draft.outputs.version }} --draft=false --verify-tag
env:
GH_TOKEN: ${{ github.token }}