48 lines
1.7 KiB
YAML
48 lines
1.7 KiB
YAML
name: Synchronize Project Config
|
|
on:
|
|
pull_request_target:
|
|
types:
|
|
- opened
|
|
- reopened
|
|
- synchronize
|
|
- closed
|
|
branches-ignore:
|
|
- "devel"
|
|
|
|
jobs:
|
|
sync-pr-project:
|
|
runs-on: tumbleweed
|
|
steps:
|
|
- run: |
|
|
zypper in -y python3-jinja2
|
|
mkdir -p ~/.config/osc
|
|
cat >~/.config/osc/oscrc <<'EOF'
|
|
[general]
|
|
apiurl = https://api.opensuse.org
|
|
|
|
[https://api.opensuse.org]
|
|
user=${{ vars.OBS_USERNAME }}
|
|
pass=${{ secrets.OBS_PASSWORD }}
|
|
EOF
|
|
# Waiting on PR to get merged for support in upstream action/checkout action
|
|
- uses: 'https://github.com/yangskyboxlabs/action-checkout@sha256'
|
|
with:
|
|
object-format: 'sha256'
|
|
- 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 }}"
|
|
fi
|
|
- 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 -
|
|
fi
|
|
- run: |
|
|
if [ "${{ gitea.event.action }}" != "closed" ]; then
|
|
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
|
|
export OBS_PROJECT="${PROJECT}:Staging:PR-${{ gitea.event.number }}"
|
|
python3 .obs/wait_obs.py
|
|
fi |