feat: add cross-platform focus adapters #8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| - dev | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref_name }} | |
| cancel-in-progress: false | |
| permissions: | |
| contents: read | |
| jobs: | |
| # 공개 저장소이므로 모든 작업은 GitHub 호스팅 러너에서 돈다. | |
| # self-hosted 러너에서 PR 코드를 실행하면 (postinstall, 테스트, 빌드) | |
| # 누구든 PR 하나로 우리 인프라에서 임의 코드를 돌릴 수 있다. | |
| # 배포는 이 워크플로에 두지 않는다. | |
| check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - uses: oven-sh/setup-bun@v2 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy, rustfmt | |
| - name: Install Linux desktop dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends \ | |
| libwebkit2gtk-4.1-dev \ | |
| build-essential \ | |
| libssl-dev \ | |
| libgtk-3-dev \ | |
| libayatana-appindicator3-dev \ | |
| librsvg2-dev \ | |
| libxdo-dev \ | |
| libasound2-dev \ | |
| libudev-dev \ | |
| pkg-config | |
| - name: Install cargo-tarpaulin | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-tarpaulin | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Lint | |
| run: bun run lint | |
| - name: Test | |
| run: bun run test | |
| - name: Build | |
| run: bun run build | |
| changepacks: | |
| name: changepacks | |
| runs-on: ubuntu-latest | |
| permissions: | |
| # create pull request comments | |
| pull-requests: write | |
| # Actions > General > Workflow permissions for creating pull request | |
| # Create brench to create pull request | |
| contents: write | |
| needs: | |
| - check | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: changepacks/action@ff3d7d0ddbce5dd21c4db0fc5932493b320cf85e # main | |
| id: changepacks | |
| outputs: | |
| changepacks: ${{ steps.changepacks.outputs.changepacks }} |