Fix PR closed workflow
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
name: Synchronize Project Config
|
||||
name: Build PR in OBS
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
@@ -9,11 +9,17 @@ on:
|
||||
branches-ignore:
|
||||
- "devel"
|
||||
|
||||
concurrency:
|
||||
group: ${{ gitea.workflow }}-${{ gitea.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
sync-pr-project:
|
||||
name: "Build PR in OBS"
|
||||
runs-on: tumbleweed
|
||||
steps:
|
||||
- run: |
|
||||
- name: Setup OSC
|
||||
run: |
|
||||
zypper in -y python3-jinja2
|
||||
mkdir -p ~/.config/osc
|
||||
cat >~/.config/osc/oscrc <<'EOF'
|
||||
@@ -26,22 +32,28 @@ jobs:
|
||||
EOF
|
||||
# Waiting on PR to get merged for support in upstream action/checkout action
|
||||
- uses: 'https://github.com/yangskyboxlabs/action-checkout@sha256'
|
||||
name: Checkout repository
|
||||
with:
|
||||
object-format: 'sha256'
|
||||
- run: |
|
||||
- name: "[if PR is closed] Delete project in OBS"
|
||||
run: |
|
||||
if [ "${{ gitea.event.action }}" = "closed" ]; then
|
||||
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
|
||||
osc rdelete "${PROJECT}:Staging:PR-${{ gitea.event.number }}"
|
||||
osc rdelete -f -r -m "PR closed" "${PROJECT}:Staging:PR-${{ gitea.event.number }}"
|
||||
fi
|
||||
- env:
|
||||
- name: "Setup PR project in OBS"
|
||||
env:
|
||||
SCM_URL: ${{ gitea.event.pull_request.head.repo.clone_url }}#${{ gitea.head_ref }}
|
||||
run: |
|
||||
if [ "${{ gitea.event.action }}" != "closed" ]; then
|
||||
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
|
||||
python3 .obs/render_meta.py --pr ${{ gitea.event.number }} --scm-url "${SCM_URL}" | osc meta prj "${PROJECT}:Staging:PR-${{ gitea.event.number }}" -F -
|
||||
echo "Project created ${PROJECT}:Staging:PR-${{ gitea.event.number }}"
|
||||
echo "Follow build at: https://build.opensuse.org/project/monitor/${PROJECT}:Staging:PR-${{ gitea.event.number }}"
|
||||
fi
|
||||
- env:
|
||||
GIT_SHA: ${{ gitea.event.pull_request.head.sha }}
|
||||
name: "Wait for OBS to build the project"
|
||||
run: |
|
||||
if [ "${{ gitea.event.action }}" != "closed" ]; then
|
||||
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
|
||||
|
@@ -9,9 +9,11 @@ on:
|
||||
|
||||
jobs:
|
||||
sync-prjconf:
|
||||
name: "Update prjconf in OBS"
|
||||
runs-on: tumbleweed
|
||||
steps:
|
||||
- run: |
|
||||
- name: Setup OSC
|
||||
run: |
|
||||
mkdir -p ~/.config/osc
|
||||
cat >~/.config/osc/oscrc <<'EOF'
|
||||
[general]
|
||||
@@ -23,6 +25,7 @@ jobs:
|
||||
EOF
|
||||
# Waiting on PR to get merged for support in upstream action/checkout action
|
||||
- uses: 'https://github.com/yangskyboxlabs/action-checkout@sha256'
|
||||
name: Checkout repository
|
||||
with:
|
||||
object-format: 'sha256'
|
||||
- run: |
|
||||
|
@@ -12,7 +12,8 @@ jobs:
|
||||
sync-prj-meta:
|
||||
runs-on: tumbleweed
|
||||
steps:
|
||||
- run: |
|
||||
- name: Setup OSC
|
||||
run: |
|
||||
zypper in -y python3-jinja2
|
||||
mkdir -p ~/.config/osc
|
||||
cat >~/.config/osc/oscrc <<'EOF'
|
||||
@@ -25,9 +26,11 @@ jobs:
|
||||
EOF
|
||||
# Waiting on PR to get merged for support in upstream action/checkout action
|
||||
- uses: 'https://github.com/yangskyboxlabs/action-checkout@sha256'
|
||||
name: Checkout repository
|
||||
with:
|
||||
object-format: 'sha256'
|
||||
- run: |
|
||||
- name: "Update or create OBS Project"
|
||||
run: |
|
||||
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
|
||||
set -o pipefail
|
||||
if meta="$(osc meta prj "${PROJECT}" 2>/dev/null | sha256sum)"; then
|
||||
|
Reference in New Issue
Block a user