Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .github/workflows/experimental-pr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Experimental PR Creation

on:
pull_request:
types: [labeled]

jobs:
create-experimental-pr:
if: github.event.label.name == 'experimental'
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write

steps:
- name: Checkout main branch
uses: actions/checkout@v4
with:
ref: main
fetch-depth: 0

- name: Create the experimental branch
run: git push origin main:refs/heads/experimental

- name: Checkout the PR branch
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Create PR to experimental
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
PR_TITLE: ${{ github.event.pull_request.title }}
SOURCE_BRANCH: ${{ github.event.pull_request.head.ref }}
run: |
gh pr create \
--base experimental \
--head "$SOURCE_BRANCH" \
--title "chore: 🧪 release ($PR_TITLE)" \
--body "This PR was automatically created from #$PR_NUMBER when the 'experimental' label was added.

Merging this PR will trigger a experimental package release to the NPM registry.
You will be able to install it with \`npm install @redocly/cli@experimental\`."
41 changes: 41 additions & 0 deletions .github/workflows/experimental-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Experimental Release

on:
pull_request:
types: [closed]
branches:
- experimental

jobs:
release-experimental:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
# permissions:
# contents: read
# id-token: write

steps:
- run: echo "Hello experimental release"

# - uses: actions/checkout@v4

# - name: Setup Node.js
# uses: actions/setup-node@v3
# with:
# node-version: 20
# cache: 'npm'

# - name: Install dependencies
# run: npm ci

# - name: Build packages
# run: npm run compile

# - name: Publish experimental packages
# # env:
# # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
# run: |
# cd packages/core
# npm publish --tag experimental
# cd ../cli
# npm publish --tag experimental
2 changes: 1 addition & 1 deletion .github/workflows/pr-title.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
env:
PR_TITLE: ${{ github.event.pull_request.title }}
run: |
if ! echo "$PR_TITLE" | grep -E "^(fix|feat|chore|docs)(\([a-z-]+\))?: (🔖 )?[a-z].+[^.]$"; then
if ! echo "$PR_TITLE" | grep -E "^(fix|feat|chore|docs)(\([a-z-]+\))?: (🔖|🧪 )?[a-z].+[^.]$"; then
echo "❌ PR title '$PR_TITLE' does not match the required format"
echo "Required format: type(scope): subject"
echo "Examples:"
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
"OpenAPI linter",
"Swagger linter",
"AsyncAPI linter",
"Arazzo linter",
"oas"
],
"contributors": [
Expand Down
Loading