further test #2
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: Publish Obsidian Plugin | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: "Obsidian release version, for example 0.1.0 or 0.1.0-beta.1." | |
| required: true | |
| type: string | |
| release_name: | |
| description: "Optional custom GitHub release name." | |
| required: false | |
| type: string | |
| push: | |
| branches: | |
| - eng-1767-setup-linear-release-for-obsidian | |
| env: | |
| OBSIDIAN_PLUGIN_REPO_TOKEN: ${{ secrets.OBSIDIAN_PLUGIN_REPO_TOKEN }} | |
| SUPABASE_URL: ${{ secrets.SUPABASE_URL }} | |
| SUPABASE_ANON_KEY: ${{ secrets.SUPABASE_ANON_KEY }} | |
| SUPABASE_PUBLISHABLE_KEY: ${{ secrets.SUPABASE_PUBLISHABLE_KEY }} | |
| SUPABASE_USE_DB: production | |
| jobs: | |
| publish-extension: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| release_version: ${{ steps.resolve-release-inputs.outputs.version }} | |
| release_name: ${{ steps.resolve-release-inputs.outputs.release_name }} | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.15.1 | |
| run_install: false | |
| - name: Setup Node.js environment | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: "pnpm" | |
| - name: Install Dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Resolve release inputs | |
| id: resolve-release-inputs | |
| run: | | |
| if [ -n "${{ inputs.version }}" ]; then | |
| version="${{ inputs.version }}" | |
| else | |
| base_version="$(node -p "require('./apps/obsidian/package.json').version")" | |
| version="${base_version}-alpha-ci.${{ github.run_number }}" | |
| fi | |
| echo "version=$version" >> "$GITHUB_OUTPUT" | |
| if [ -n "${{ inputs.release_name }}" ]; then | |
| release_name="${{ inputs.release_name }}" | |
| else | |
| release_name="" | |
| fi | |
| echo "release_name=$release_name" >> "$GITHUB_OUTPUT" | |
| - name: Sync Linear release | |
| uses: linear/linear-release-action@v0 | |
| with: | |
| access_key: ${{ secrets.LINEAR_RELEASES_ACCESS_KEY_OBSIDIAN }} | |
| name: Obsidian ${{ steps.resolve-release-inputs.outputs.version }} | |
| version: ${{ steps.resolve-release-inputs.outputs.version }} | |
| include_paths: "apps/obsidian/**,packages/tailwind-config/**,packages/utils/**,packages/database/**,packages/ui/**" | |
| - name: Publish Obsidian extension | |
| run: | | |
| if [ -n "${{ steps.resolve-release-inputs.outputs.release_name }}" ]; then | |
| pnpm --dir apps/obsidian run publish --version "${{ steps.resolve-release-inputs.outputs.version }}" --release-name "${{ steps.resolve-release-inputs.outputs.release_name }}" | |
| else | |
| pnpm --dir apps/obsidian run publish --version "${{ steps.resolve-release-inputs.outputs.version }}" | |
| fi | |
| - name: Mark Linear release sent to Obsidian review | |
| uses: linear/linear-release-action@v0 | |
| with: | |
| access_key: ${{ secrets.LINEAR_RELEASES_ACCESS_KEY_OBSIDIAN }} | |
| command: update | |
| version: ${{ steps.resolve-release-inputs.outputs.version }} | |
| stage: Sent to Obsidian for Review |