Skip to content

working app pages

working app pages #20

Workflow file for this run

name: Release
on:
push:
branches:
- main
paths:
- ".changeset/**"
- "package.json"
- ".github/workflows/release.yml"
workflow_dispatch:
concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
release:
name: Release
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
actions: write
env:
ZE_SECRET_TOKEN: ${{ secrets.ZEPHYR_AUTH_TOKEN }}
ZE_SERVER_TOKEN: ${{ secrets.ZEPHYR_SERVER_AUTH_TOKEN }}
ZE_USER_EMAIL: ${{ secrets.ZEPHYR_USER_EMAIL }}
BOS_INSTALL_NEAR_CLI: "true"
NEAR_PRIVATE_KEY: ${{ secrets.NEAR_PRIVATE_KEY }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Create Release Pull Request or Publish
id: changesets
uses: changesets/action@v1
with:
version: bun run version
publish: bun run release
title: "chore: version packages"
commit: "chore: version packages"
createGithubReleases: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create GitHub Releases
if: steps.changesets.outputs.hasChangesets == 'false'
run: |
for pkg in api ui host; do
VERSION=$(jq -r '.version' "$pkg/package.json")
TAG="$pkg@$VERSION"
if ! gh release view "$TAG" &>/dev/null; then
echo "Creating release for $TAG"
NOTES=$(sed -n '/^## '$VERSION'/,/^## [0-9]/p' "$pkg/CHANGELOG.md" | sed '$d' | tail -n +2)
if [ -z "$NOTES" ]; then
NOTES="Release $TAG"
fi
gh release create "$TAG" \
--title "$TAG" \
--notes "$NOTES" \
--target main
else
echo "Release $TAG already exists, skipping"
fi
done
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish runtime config
if: steps.changesets.outputs.hasChangesets == 'false'
run: bun packages/everything-dev/cli.js publish --deploy
- name: Commit bos.config.json updates
if: steps.changesets.outputs.hasChangesets == 'false'
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "chore: update deployment URLs [skip ci]"
file_pattern: bos.config.json
- name: Trigger Docker deployment
if: steps.changesets.outputs.hasChangesets == 'false'
uses: actions/github-script@v7
with:
script: |
// Trigger Docker workflow after successful release
await github.rest.actions.createWorkflowDispatch({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: 'docker.yml',
ref: 'main'
});