Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/trueberryless-org/starlight-theme-next. Starlight theme inspired by the Next.js docs. starlight-theme-next.trueberryless.org
starlight theme
Something went wrong. Try again.
6.0 kB · 187 lines
YAML
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188name: Publish
on: push: branches: [main] workflow_dispatch:
# Automatically cancel in-progress actions on the same branchconcurrency: group: ${{ github.workflow }}-${{ github.event_name == 'pull_request_target' && github.head_ref || github.ref }} cancel-in-progress: true
env: IMAGE_NAME: starlight-theme-next NODE_VERSION: 24.14.1
jobs: changes: name: Filter runs-on: ubuntu-latest outputs: package: ${{ steps.filter.outputs.package }} steps: - name: Check out the repo uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false
- uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 id: filter with: filters: | package: - 'packages/starlight-theme-next/**'
changesets: name: Changesets runs-on: ubuntu-latest outputs: has-changesets: ${{ steps.changesets.outputs.has-changesets }} permissions: contents: write pull-requests: write steps: - name: Generate GitHub App token id: generate_token uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0 with: client-id: ${{ secrets.BOT_APP_ID }} private-key: ${{ secrets.BOT_PRIVATE_KEY }}
- name: Checkout Repo uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: token: ${{ steps.generate_token.outputs.token }} persist-credentials: true
- name: Setup PNPM uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
- name: Setup Node uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: ${{ env.NODE_VERSION }} cache: "pnpm"
- name: Install Dependencies run: pnpm i
- name: Create Release Pull Request id: changesets uses: changesets/action@8488615a623b1b9c987934bb89eae8af6a946ac1 # v2.1.1 with: version-script: pnpm run version commit-message: "ci: release" pr-title: "ci: release [skip netlify]" github-token: ${{ steps.generate_token.outputs.token}} push-with-git-cli: true
- name: Get published version if: steps.changesets.outputs.has-changesets == 'true' run: | git checkout changeset-release/main VERSION=$(node -p "require('./packages/starlight-theme-next/package.json').version") NAME=$(node -p "require('./packages/starlight-theme-next/package.json').name") git commit --amend -m "ci: release $NAME v$VERSION" --no-edit git push origin changeset-release/main:changeset-release/main --force
image-tag: name: Image Tag runs-on: ubuntu-latest outputs: IMAGE_TAG: ${{ env.IMAGE_TAG }} steps: - name: Check out the repo uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false
- name: Read version from package.json id: get_version run: | VERSION=$(jq -r '.version' packages/starlight-theme-next/package.json) echo "IMAGE_TAG=$VERSION" >> $GITHUB_ENV
publish: needs: [changes, changesets, image-tag] if: > ( needs.changesets.outputs.has-changesets == 'false' && ( contains(github.event.head_commit.message, 'deploy') || contains(github.event.head_commit.message, 'release') ) ) || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest permissions: contents: write id-token: write steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false
- name: Setup PNPM uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
- name: Setup Node uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: ${{ env.NODE_VERSION }} cache: "pnpm" registry-url: "https://registry.npmjs.org"
- name: Install Dependencies run: pnpm i
- run: | cd packages/starlight-theme-next npm publish --access public
release: name: Release needs: [image-tag, publish] runs-on: ubuntu-latest permissions: contents: write steps: - name: Check out the repo uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false
- id: extract-changelog uses: sean0x42/markdown-extract@7b185cbe85263116bbf741e739e7198ba86465dc # v2.1.0 with: file: packages/starlight-theme-next/CHANGELOG.md pattern: ${{ needs.image-tag.outputs.IMAGE_TAG }}
- uses: ncipollo/release-action@v1 id: create_release with: tag: ${{ env.IMAGE_NAME }}@${{ needs.image-tag.outputs.IMAGE_TAG }} makeLatest: true body: ${{ steps.extract-changelog.outputs.markdown }} skipIfReleaseExists: true
- name: Check if release was created id: check_release run: | if [ -z "${{ steps.create_release.outputs.html_url }}" ]; then echo "RELEASE_SKIPPED=true" >> $GITHUB_ENV else echo "RELEASE_SKIPPED=false" >> $GITHUB_ENV fi
- name: Discord notification if: env.RELEASE_SKIPPED == 'false' env: DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL }} uses: Ilshidur/action-discord@d2594079a10f1d6739ee50a2471f0ca57418b554 # 0.4.0 with: args: | # ${{ env.IMAGE_NAME }}@${{ needs.image-tag.outputs.IMAGE_TAG }}
${{ steps.extract-changelog.outputs.markdown }}