name: Publish new version of public packages from main HEAD # This bumps the version, updates the changelogs, publishes a GitHub release, and publishes the packages to npm. # Package publishing is manually triggered on github actions dashboard on: workflow_dispatch: inputs: bump_type: type: choice description: Version Bump Type required: true default: 'minor' options: - minor - major - override version_override: type: string description: Version Override required: false jobs: deploy: name: 'Publish new version of public packages' environment: npm deploy timeout-minutes: 15 runs-on: ubuntu-latest-16-cores-open steps: - name: Check inputs run: | if [[ "${{ inputs.bump_type }}" != "override" ]] && ! [[ -z "${{ inputs.version_override }}" ]]; then echo "Bump type ${{ inputs.bump_type }} and version override cannot be set simultaneously" exit 1 fi - name: Generate GH token id: generate_token uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92 with: app_id: ${{ secrets.HUPPY_APP_ID }} private_key: ${{ secrets.HUPPY_APP_PRIVATE_KEY }} - name: Check out code uses: actions/checkout@v3 with: token: ${{ steps.generate_token.outputs.token }} - name: Prepare repository # Fetch full git history and tags for auto run: git fetch --unshallow --tags - name: Run our setup uses: ./.github/actions/setup - name: Publish run: | git config --global user.name 'huppy-bot[bot]' git config --global user.email '128400622+huppy-bot[bot]@users.noreply.github.com' if [[ "${{ inputs.bump_type }}" == "override" ]]; then yarn tsx ./scripts/publish-new.ts --bump ${{ inputs.version_override }} else yarn tsx ./scripts/publish-new.ts --bump ${{ inputs.bump_type }} fi env: GH_TOKEN: ${{ steps.generate_token.outputs.token }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} HUPPY_TOKEN: ${{ secrets.HUPPY_TOKEN }} # publish_templates: # name: Publishes code templates to separate repositories # uses: tldraw/tldraw/.github/workflows/publish-templates.yml@dan/mirror-examples # secrets: # VITE_TEMPLATE_REPO_SSH_DEPLOY_KEY: ${{ secrets.VITE_TEMPLATE_REPO_SSH_DEPLOY_KEY }} # NEXTJS_TEMPLATE_REPO_SSH_DEPLOY_KEY: ${{ secrets.NEXTJS_TEMPLATE_REPO_SSH_DEPLOY_KEY }} # needs: [ # deploy # ]