Skip to content

docs: update shortcuts documentation for 287b29f (#34) #15

docs: update shortcuts documentation for 287b29f (#34)

docs: update shortcuts documentation for 287b29f (#34) #15

Workflow file for this run

name: Release
on:
push:
branches: [main]
permissions:
contents: write
jobs:
check-version:
runs-on: ubuntu-latest
outputs:
version-changed: ${{ steps.check.outputs.changed }}
new-version: ${{ steps.check.outputs.version }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Check version change
id: check
run: |
CURRENT_VERSION=$(jq -r '.version' package.json)
PREVIOUS_VERSION=$(git show HEAD^:package.json 2>/dev/null | jq -r '.version' 2>/dev/null || echo "")
echo "Current version: $CURRENT_VERSION"
echo "Previous version: $PREVIOUS_VERSION"
if [ "$CURRENT_VERSION" != "$PREVIOUS_VERSION" ]; then
echo "changed=true" >> $GITHUB_OUTPUT
echo "version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
else
echo "changed=false" >> $GITHUB_OUTPUT
fi
release:
needs: check-version
if: needs.check-version.outputs.version-changed == 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run quality checks
run: |
bun run typecheck
bun run lint
bun run format:check
bun run test
- name: Build extension
run: bun run build
- name: Create extension ZIP
run: |
cd dist
zip -r ../quick-tabby-v${{ needs.check-version.outputs.new-version }}.zip .
- name: Create and push tag
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git tag -a "v${{ needs.check-version.outputs.new-version }}" -m "Release v${{ needs.check-version.outputs.new-version }}"
git push origin "v${{ needs.check-version.outputs.new-version }}"
- name: Create draft GitHub release
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ needs.check-version.outputs.new-version }}
name: QuickTabby v${{ needs.check-version.outputs.new-version }}
draft: true
generate_release_notes: true
files: |
quick-tabby-v${{ needs.check-version.outputs.new-version }}.zip