name: Release Router on: push: branches-ignore: - main pull_request: workflow_dispatch: inputs: publish_to_github: description: 'Publish to GitHub Packages instead of npm' type: boolean default: false packages: description: 'Comma-separated list of packages to publish, or "all"' type: string default: 'all' jobs: switch: runs-on: ubuntu-24.04 outputs: target: ${{ steps.route.outputs.target }} steps: - name: Route release id: route shell: bash run: | HEAD_REPO="${{ github.event.pull_request.head.repo.full_name }}" if [[ "$GITHUB_EVENT_NAME" == "workflow_dispatch" && "${GITHUB_REF##*/}" == "main" ]]; then echo "target=latest" >> $GITHUB_OUTPUT # only run on all pushes or pull requests from forks elif [[ "$GITHUB_EVENT_NAME" == "push" ]] || [[ "$HEAD_REPO" != "$GITHUB_REPOSITORY" ]]; then echo "target=feature" >> $GITHUB_OUTPUT else echo "target=skip" >> $GITHUB_OUTPUT fi run-feature: needs: switch if: needs.switch.outputs.target == 'feature' uses: ./.github/workflows/release-feature-branch.yaml secrets: PLANETSCALE_CONNECTION_STRING: ${{ secrets.PLANETSCALE_CONNECTION_STRING }} NEON_CONNECTION_STRING: ${{ secrets.NEON_CONNECTION_STRING }} # NEON_HTTP_CONNECTION_STRING: ${{ secrets.NEON_CONNECTION_STRING }} NETLIFY_DB_URL: ${{ secrets.NETLIFY_DB_URL }} TIDB_CONNECTION_STRING: ${{ secrets.TIDB_CONNECTION_STRING }} XATA_API_KEY: ${{ secrets.XATA_API_KEY }} XATA_BRANCH: ${{ secrets.XATA_BRANCH }} LIBSQL_REMOTE_URL: ${{ secrets.LIBSQL_REMOTE_URL }} LIBSQL_REMOTE_TOKEN: ${{ secrets.LIBSQL_REMOTE_TOKEN }} run-latest: needs: switch if: needs.switch.outputs.target == 'latest' uses: ./.github/workflows/release-latest.yaml secrets: PLANETSCALE_CONNECTION_STRING: ${{ secrets.PLANETSCALE_CONNECTION_STRING }} NEON_CONNECTION_STRING: ${{ secrets.NEON_CONNECTION_STRING }} # NEON_HTTP_CONNECTION_STRING: ${{ secrets.NEON_CONNECTION_STRING }} NETLIFY_DB_URL: ${{ secrets.NETLIFY_DB_URL }} TIDB_CONNECTION_STRING: ${{ secrets.TIDB_CONNECTION_STRING }} XATA_API_KEY: ${{ secrets.XATA_API_KEY }} XATA_BRANCH: ${{ secrets.XATA_BRANCH }} LIBSQL_REMOTE_URL: ${{ secrets.LIBSQL_REMOTE_URL }} LIBSQL_REMOTE_TOKEN: ${{ secrets.LIBSQL_REMOTE_TOKEN }}