Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
a4aeea1
[release] set version to "8.1.1-unblu-1"
jmini Dec 3, 2025
f8afd94
Set version to "8.1.1-SNAPSHOT"
jmini Dec 3, 2025
a601361
Merge remote-tracking branch 'origin/master' into develop
jmini Apr 7, 2026
d8424e6
Merge branch 'feature/add-property-rule-support' into develop
jmini Apr 7, 2026
27f2d69
[release] set version to "8.1.2-unblu-1"
jmini Apr 7, 2026
5df49c1
Set version on "8.1.2-SNAPSHOT"
jmini Apr 7, 2026
97f4b7b
Merge branch 'feature/add-property-rule-support' into develop
jmini Apr 7, 2026
e66e9e1
[release] set version to "8.1.2-unblu-2"
jmini Apr 7, 2026
3a3e569
Set version on "8.1.2-SNAPSHOT"
jmini Apr 7, 2026
a463c2f
Merge branch 'feature/add-property-rule-support' into develop
shagkur Apr 8, 2026
3e77efa
[release] set version to "8.1.2-unblu-3"
jmini Apr 8, 2026
b3004dc
Set version on "8.1.2-SNAPSHOT"
jmini Apr 8, 2026
223cbff
#18758 media range operators
stanislavgalfy-unblu Aug 25, 2026
187633d
Merge remote-tracking branch 'upstream/master'
shagkur Aug 25, 2026
2819ccc
Merge branch 'master' into develop
shagkur Aug 25, 2026
eab6c8d
Merge branch 'develop' into 18758-media-range-operators
stanislavgalfy-unblu Aug 25, 2026
85b0b84
Merge pull request #2 from unblu/18758-media-range-operators
stanislavgalfy-unblu Aug 25, 2026
c9104da
add validation and merge cascade actions
shagkur Aug 25, 2026
4a7bc45
exclude pom.xml(s) on auto merge
shagkur Aug 25, 2026
510dd75
add auto merge and branch protection workflows
shagkur Aug 25, 2026
b1b0e4a
add auto merge and branch protection workflows
shagkur Aug 25, 2026
16a98a9
add auto merge and branch protection workflows
shagkur Aug 26, 2026
db253ff
auto sync with upstream master
shagkur Aug 26, 2026
03778f2
auto sync with upstream master
shagkur Aug 26, 2026
eb2d13c
- exclude files when creating the promotion PR
shagkur Aug 26, 2026
38e7e7e
- adopt validation
shagkur Aug 26, 2026
50f8de3
- improvments
shagkur Aug 26, 2026
555b5c7
- improvments
shagkur Aug 26, 2026
e1cc8f9
Promote develop to master (#11)
github-actions[bot] Aug 26, 2026
ab97d2f
- add upstream PR creation
shagkur Aug 26, 2026
8961a6b
- refinement
shagkur Aug 26, 2026
4193cf0
- exclude the whole path
shagkur Aug 26, 2026
ef249d9
Promote develop to master (#13)
github-actions[bot] Aug 26, 2026
45e2e85
- use PAT
shagkur Aug 26, 2026
cf0fe1d
Merge branch 'master' into develop
shagkur Aug 26, 2026
8088351
Augment the CLAUDE.md to document the unblu fork
jmini Aug 26, 2026
de20ca9
- use Github App
shagkur Aug 26, 2026
7ef5040
- narrow pr types
shagkur Aug 26, 2026
aab8dcc
Keep master-only files unchanged
ph-css-promotion[bot] Aug 26, 2026
0e452b3
Merge pull request #19 from unblu/promotion/develop-to-master
shagkur Aug 26, 2026
bc295f1
- enable auto-merge on promotion pr
shagkur Aug 26, 2026
c9292f8
Merge branch 'master' into develop
shagkur Aug 26, 2026
e9bc3b0
Keep master-only files unchanged
ph-css-promotion[bot] Aug 26, 2026
264a445
Merge pull request #21 from unblu/promotion/develop-to-master
shagkur Aug 26, 2026
486c75c
- sync master into develop
shagkur Aug 26, 2026
3c885c3
- sync master into develop workflow
shagkur Aug 26, 2026
2a4db67
Keep master-only files unchanged
ph-css-promotion[bot] Aug 26, 2026
a36674f
Merge pull request #23 from unblu/promotion/develop-to-master
shagkur Aug 26, 2026
88efc09
- correct enabling of auto-merge
shagkur Aug 26, 2026
2539055
Keep master-only files unchanged
ph-css-promotion[bot] Aug 26, 2026
04da8cc
Merge pull request #25 from unblu/promotion/develop-to-master
ph-css-promotion[bot] Aug 26, 2026
79a47c1
- preserve develop pom.xml
shagkur Aug 27, 2026
a0eed90
Keep master-only files unchanged
ph-css-promotion[bot] Aug 27, 2026
c911628
Merge pull request #27 from unblu/promotion/develop-to-master
ph-css-promotion[bot] Aug 27, 2026
7257c56
Restore the groupId change
jmini Aug 27, 2026
1db48ab
Keep master-only files unchanged
ph-css-promotion[bot] Aug 27, 2026
325252f
Merge branch 'master' into develop
shagkur Aug 27, 2026
a0d0b91
Merge pull request #29 from unblu/promotion/develop-to-master
ph-css-promotion[bot] Aug 27, 2026
3ce49bc
Merge branch `master` into develop
shagkur Aug 27, 2026
48aa305
- always sync master back to develop
shagkur Aug 27, 2026
d5b62a3
Keep master-only files unchanged
ph-css-promotion[bot] Aug 27, 2026
13d01f8
Merge pull request #31 from unblu/promotion/develop-to-master
ph-css-promotion[bot] Aug 27, 2026
2d9628b
Sync master back to develop
ph-css-promotion[bot] Aug 27, 2026
91f9807
- preserve title + body from the original PR
shagkur Aug 27, 2026
117bd6a
Keep master-only files unchanged
ph-css-promotion[bot] Aug 27, 2026
9ffbd64
Merge pull request #33 from unblu/promotion/develop-to-master
ph-css-promotion[bot] Aug 27, 2026
cad96ca
Sync master back to develop
ph-css-promotion[bot] Aug 27, 2026
af9eff2
- change env var for the push to ensure the PAT is used here
shagkur Aug 27, 2026
363a6ed
Keep master-only files unchanged
ph-css-promotion[bot] Aug 27, 2026
58a5c70
Merge pull request #35 from unblu/promotion/develop-to-master
ph-css-promotion[bot] Aug 27, 2026
c77ff7e
Sync master back to develop
ph-css-promotion[bot] Aug 27, 2026
0e083b1
Update CLAUDE.md
jmini Aug 27, 2026
8353ed0
- use unblu/ph-css repo to create the upstream promotion branch and h…
shagkur Aug 27, 2026
43b71c1
Keep master-only files unchanged
ph-css-promotion[bot] Aug 27, 2026
93de428
Merge pull request #37 from unblu/promotion/develop-to-master
ph-css-promotion[bot] Aug 27, 2026
db4f01e
Sync master back to develop
ph-css-promotion[bot] Aug 27, 2026
9e79aa4
- run upstream pr promotion as a scheduled workflow (allows to run in…
shagkur Aug 28, 2026
bbf2d12
Keep master-only files unchanged
ph-css-promotion[bot] Aug 28, 2026
3880d93
Merge pull request #39 from unblu/promotion/develop-to-master
ph-css-promotion[bot] Aug 28, 2026
9795ab8
Sync master back to develop
ph-css-promotion[bot] Aug 28, 2026
e98544d
- correct head argument
shagkur Aug 28, 2026
689be6c
Keep master-only files unchanged
ph-css-promotion[bot] Aug 28, 2026
0e72355
Merge pull request #41 from unblu/promotion/develop-to-master
ph-css-promotion[bot] Aug 28, 2026
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
246 changes: 246 additions & 0 deletions .github/workflows/promote-develop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,246 @@
name: Promote develop to master

on:
pull_request:
types:
- opened
- reopened
- closed
branches:
- develop
- master

permissions:
contents: write
pull-requests: write

env:
REPOSITORY: unblu/ph-css
SOURCE_BRANCH: develop
TARGET_BRANCH: master
PROMOTION_BRANCH: promotion/develop-to-master

jobs:
promote:
# Two situations trigger this job:
#
# 1. A develop PR was merged.
# -> create/update the promotion PR
#
# 2. Somebody manually created develop -> master.
# -> create the controlled promotion PR and close the manual one.
#
if: >
(
github.event.pull_request.base.ref == 'develop' &&
github.event.pull_request.merged == true
)
||
(
github.event.pull_request.base.ref == 'master' &&
github.event.pull_request.head.ref == 'develop' &&
(
github.event.action == 'opened' ||
github.event.action == 'reopened'
)
)

runs-on: ubuntu-latest

steps:

# ------------------------------------------------------------
# Checkout
# ------------------------------------------------------------

- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

# ------------------------------------------------------------
# Generate short-lived GitHub App installation token
# ------------------------------------------------------------

- name: Generate GitHub App token
id: app-token
uses: actions/create-github-app-token@v3
with:
client-id: ${{ vars.PH_CSS_PROMOTION_APP_ID }}
private-key: ${{ secrets.PH_CSS_PROMOTION_APP_KEY }}
owner: unblu
repositories: ph-css
permission-contents: write
permission-pull-requests: write

# ------------------------------------------------------------
# Configure Git
# ------------------------------------------------------------

- name: Configure Git
run: |
git config user.name "ph-css-promotion[bot]"
git config user.email "ph-css-promotion[bot]@users.noreply.github.com"

# ------------------------------------------------------------
# Fetch branches
# ------------------------------------------------------------

- name: Fetch branches
run: |
git fetch origin master
git fetch origin develop

# ------------------------------------------------------------
# Create promotion branch from master
# ------------------------------------------------------------

- name: Create promotion branch
run: |
git checkout -B \
"${PROMOTION_BRANCH}" \
"origin/${TARGET_BRANCH}"

# ------------------------------------------------------------
# Merge develop into promotion branch
# ------------------------------------------------------------

- name: Merge develop
run: |
git merge \
--no-commit \
--no-ff \
"origin/${SOURCE_BRANCH}"

# ------------------------------------------------------------
# Restore files that must remain master-only
# ------------------------------------------------------------

- name: Restore master-only files
run: |
git checkout "origin/${TARGET_BRANCH}" -- \
ph-css/pom.xml \
ph-csscompress-maven-plugin/pom.xml \
pom.xml

git add \
ph-css/pom.xml \
ph-csscompress-maven-plugin/pom.xml \
pom.xml

if ! git diff --cached --quiet; then
git commit -m "Keep master-only files unchanged"
fi

# ------------------------------------------------------------
# Push promotion branch
#
# IMPORTANT:
# Use the GitHub App token, NOT github.token.
# ------------------------------------------------------------

- name: Push promotion branch
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: |
git push \
"https://x-access-token:${GH_TOKEN}@github.com/${REPOSITORY}.git" \
"${PROMOTION_BRANCH}" \
--force

# ------------------------------------------------------------
# Find manually-created develop -> master PR
# ------------------------------------------------------------

- name: Find direct develop → master PR
id: direct-pr
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: |
PR_NUMBER=$(gh pr list \
--repo "${REPOSITORY}" \
--base "${TARGET_BRANCH}" \
--head "${SOURCE_BRANCH}" \
--state open \
--json number \
--jq '.[0].number // empty')

echo "number=${PR_NUMBER}" >> "$GITHUB_OUTPUT"

# ------------------------------------------------------------
# Close manually-created develop -> master PR
# ------------------------------------------------------------

- name: Close direct develop → master PR
if: steps.direct-pr.outputs.number != ''
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: |
gh pr close \
"${{ steps.direct-pr.outputs.number }}" \
--repo "${REPOSITORY}" \
--comment \
"This direct promotion PR is replaced by the automated promotion PR."

# ------------------------------------------------------------
# Check whether promotion PR already exists
# ------------------------------------------------------------

- name: Find promotion PR
id: promotion-pr
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: |
PR_NUMBER=$(gh pr list \
--repo "${REPOSITORY}" \
--base "${TARGET_BRANCH}" \
--head "${PROMOTION_BRANCH}" \
--state open \
--json number \
--jq '.[0].number // empty')

echo "number=${PR_NUMBER}" >> "$GITHUB_OUTPUT"

# ------------------------------------------------------------
# Create promotion PR
#
# IMPORTANT:
# This PR is created with the GitHub App token.
# Do NOT replace it with github.token.
# ------------------------------------------------------------

- name: Create promotion PR
if: steps.promotion-pr.outputs.number == ''
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: |
PR_NUMBER=$(gh pr create \
--repo "${REPOSITORY}" \
--base "${TARGET_BRANCH}" \
--head "${PROMOTION_BRANCH}" \
--title "Promote develop to master" \
--body "Automated promotion of develop to master.")

echo "Created promotion PR: ${PR_NUMBER}"

# ------------------------------------------------------------
# Enable auto-merge for promotion PR
# ------------------------------------------------------------

- name: Enable auto-merge
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: |
PR_NUMBER="${{ steps.promotion-pr.outputs.number }}"

if [ -z "${PR_NUMBER}" ]; then
PR_NUMBER="${{ steps.create-promotion-pr.outputs.number }}"
fi

echo "Enabling auto-merge for PR #${PR_NUMBER}"

gh pr merge \
"${PR_NUMBER}" \
--repo "${REPOSITORY}" \
--auto \
--merge
Loading
Loading