127 lines
3.5 KiB
YAML
127 lines
3.5 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: upstreaming
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: "Sync upstream to local"
|
|
image: nixery.dev/shell/git/openssh
|
|
when:
|
|
event:
|
|
- cron
|
|
- promote
|
|
target:
|
|
- upstream
|
|
environment:
|
|
GITEA_SSH_KEY:
|
|
from_secret: gitea_ssh_key
|
|
HOME: /root
|
|
commands:
|
|
# This is a hack because nixery containers contain no passwd file, which openssh wants to read
|
|
- echo "root:x:0:0:System administrator:/root:/run/current-system/sw/bin/bash" >> /etc/passwd
|
|
- mkdir -p ~/.ssh
|
|
- echo "$$GITEA_SSH_KEY" > ~/.ssh/id_rsa
|
|
- echo "[git.b12f.io]:2222 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ4uaREL7acSSCNAX+voDYl1Kj7JipP62fR5x1UyGP9u" >> ~/.ssh/known_hosts
|
|
- echo "Host git.b12f.io" >> ~/.ssh/config
|
|
- echo " Port 2222" >> ~/.ssh/config
|
|
- chmod -R 600 ~/.ssh
|
|
- git clone -b devos git@git.b12f.io:pub-solar/os .
|
|
- git remote add devos git@git.b12f.io:pub-solar/devos
|
|
- git fetch --all
|
|
- git merge -X theirs devos/core
|
|
- git push origin devos
|
|
|
|
- name: "Sync core with upstream"
|
|
image: nixery.dev/shell/git/openssh
|
|
when:
|
|
status:
|
|
- success
|
|
event:
|
|
- cron
|
|
- promote
|
|
target:
|
|
- upstream
|
|
depends_on:
|
|
- "Sync upstream to local"
|
|
environment:
|
|
GITEA_SSH_KEY:
|
|
from_secret: gitea_ssh_key
|
|
HOME: /root
|
|
commands:
|
|
# This is a hack because nixery containers contain no passwd file, which openssh wants to read
|
|
- echo "root:x:0:0:System administrator:/root:/run/current-system/sw/bin/bash" >> /etc/passwd
|
|
- mkdir -p ~/.ssh
|
|
- echo "$$GITEA_SSH_KEY" > ~/.ssh/id_rsa
|
|
- echo "[git.b12f.io]:2222 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ4uaREL7acSSCNAX+voDYl1Kj7JipP62fR5x1UyGP9u" >> ~/.ssh/known_hosts
|
|
- echo "Host git.b12f.io" >> ~/.ssh/config
|
|
- echo " Port 2222" >> ~/.ssh/config
|
|
- chmod -R 600 ~/.ssh
|
|
- git fetch --all
|
|
- git checkout --track origin/core
|
|
- git merge origin/devos
|
|
- git push origin core
|
|
|
|
- name: "Notify success"
|
|
image: plugins/matrix
|
|
when:
|
|
status:
|
|
- success
|
|
event:
|
|
- cron
|
|
- promote
|
|
target:
|
|
- upstream
|
|
depends_on:
|
|
- "Sync core with upstream"
|
|
settings:
|
|
homeserver: https://matrix.pub.solar
|
|
roomid: dfQBqwkhIzrFjMSsxy:pub.solar
|
|
username:
|
|
from_secret: matrix_username
|
|
password:
|
|
from_secret: matrix_password
|
|
template: Upstreaming devos into core succeeded.
|
|
|
|
- name: "Open pull request for failed merge"
|
|
image: nixery.dev/shell/tea
|
|
when:
|
|
status:
|
|
- failure
|
|
event:
|
|
- cron
|
|
- promote
|
|
target:
|
|
- upstream
|
|
depends_on:
|
|
- "Sync core with upstream"
|
|
environment:
|
|
TEA_CONFIG:
|
|
from_secret: tea_config
|
|
commands:
|
|
- mkdir -p ~/.config/tea
|
|
- echo "$$TEA_CONFIG" > ~/.config/tea/config.yml
|
|
- tea pulls create --base core --head devos
|
|
|
|
- name: "Notify failure"
|
|
image: plugins/matrix
|
|
when:
|
|
status:
|
|
- success
|
|
event:
|
|
- cron
|
|
- promote
|
|
target:
|
|
- upstream
|
|
depends_on:
|
|
- "Open pull request for failed merge"
|
|
settings:
|
|
homeserver: https://matrix.pub.solar
|
|
roomid: dfQBqwkhIzrFjMSsxy:pub.solar
|
|
username:
|
|
from_secret: matrix_username
|
|
password:
|
|
from_secret: matrix_password
|
|
template: Upstreaming devos into core failed. A pull request has been created https://git.b12f.io/pub-solar/os/pulls
|