--- kind: pipeline type: docker name: Upstreaming steps: - name: "Sync 'devos' branch with upstream" image: alpine/git when: event: - cron cron: - sync-main-with-upstream environment: GITEA_SSH_KEY: from_secret: gitea_ssh_key commands: - ./.drone/setup_ssh.sh - git remote add devos git@git.b12f.io:pub-solar/devos - git remote set-url origin git@git.b12f.io:pub-solar/os - git fetch --all - git checkout -b devos --track origin/devos - git merge -X theirs devos/main - git push origin devos - git remote set-url origin https://git.b12f.io/pub-solar/os.git - name: "Sync $BRANCH with upstream" image: alpine/git when: event: - cron cron: - sync-main-with-upstream - sync-b12f-with-main - sync-teutat3s-with-main environment: GITEA_SSH_KEY: from_secret: gitea_ssh_key commands: - git fetch origin - git checkout origin/main - ./.drone/setup_ssh.sh - git remote set-url origin git@git.b12f.io:pub-solar/os - git fetch --all - ./.drone/upstream-branch.sh - name: "Open pull request for failed merge" image: nixery.dev/shell/tea when: status: - failure event: - cron cron: - sync-main-with-upstream - sync-b12f-with-main - sync-teutat3s-with-main environment: TEA_CONFIG: from_secret: tea_config commands: - mkdir -p ~/.config/tea - echo "$$TEA_CONFIG" > ~/.config/tea/config.yml - tea pulls create --base main --head devos - name: "Notify matrix" image: plugins/matrix when: status: - failure event: - cron cron: - sync-main-with-upstream - sync-b12f-with-main - sync-teutat3s-with-main settings: homeserver: https://matrix.pub.solar roomid: dfQBqwkhIzrFjMSsxy:pub.solar username: from_secret: matrix_username password: from_secret: matrix_password template: "Upstreaming {{ build.status }} [{{ build.branch }}#{{ truncate build.commit 8 }}]({{ build.link }}) by {{ build.author }}. [Pull requests](https://git.b12f.io/pub-solar/os/pulls)" trigger: event: - cron --- kind: pipeline type: docker name: Check steps: - name: "Check" image: docker.nix-community.org/nixpkgs/nix-flakes:latest volumes: - name: nix-store-cache path: /tmp/build-store when: event: - pull_request - tag commands: - nix -Lv --store --eval-store local /tmp/build-store flake check - nix -Lv --store --eval-store local /tmp/build-store build ".#nixosConfigurations.PubSolarOS.config.system.build.toplevel" - nix -Lv --store --eval-store local /tmp/build-store develop -c echo OK - nix -Lv --store --eval-store local /tmp/build-store develop --command bud --help volumes: - name: nix-store-cache host: path: "/var/nix/build-store" --- kind: pipeline type: docker name: Publish ISO steps: - name: "Build ISO" image: docker.nix-community.org/nixpkgs/nix-flakes:latest volumes: - name: file-exchange path: /var/nix/iso-cache - name: nix-store-cache path: /tmp/build-store commands: - nix -Lv --store --eval-store local /tmp/build-store develop --command bud build bootstrap bootstrapIso - cp $(readlink -f result)/iso/*.iso /var/nix/iso-cache/ - name: "Publish ISO" image: appleboy/drone-scp volumes: - name: file-exchange path: /var/nix/iso-cache settings: host: from_secret: ssh_host user: from_secret: ssh_user port: from_secret: ssh_port key: from_secret: ssh_key target: /var/www/pub.solar source: - /var/nix/iso-cache/*.iso strip_components: 3 depends_on: - Check trigger: event: - tag volumes: - name: file-exchange temp: {} - name: nix-store-cache host: path: "/var/nix/build-store" --- kind: signature hmac: 3d4da439d9dc5cd81ea31f1c137ca82d6196341278434770348f5e258256cbec ...