--- 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 when: event: - pull_request - tag environment: NIX_FLAGS: "--print-build-logs --verbose" commands: - 'echo DEBUG: Using NIX_FLAGS: $NIX_FLAGS' - nix $$NIX_FLAGS build ".#nixosConfigurations.PubSolarOS.config.system.build.toplevel" - nix $$NIX_FLAGS develop --command echo OK - nix $$NIX_FLAGS develop --command bud --help --- kind: pipeline type: exec name: Tests steps: - name: "Tests" when: event: - pull_request - tag environment: NIX_FLAGS: "--print-build-logs --verbose" commands: - 'echo DEBUG: Using NIX_FLAGS: $NIX_FLAGS' - nix $$NIX_FLAGS build ".#checks.x86_64-linux.customTestFor-PubSolarOS-firstTest" #- nix $$NIX_FLAGS flake check #- nix $$NIX_FLAGS develop --command echo OK #- nix $$NIX_FLAGS develop --command bud --help --- 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 commands: - | nix --print-build-logs --verbose \ 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: /srv/os source: - /var/nix/iso-cache/*.iso strip_components: 3 depends_on: - Check trigger: event: - tag volumes: - name: file-exchange temp: {} --- kind: signature hmac: bdbefb07b97dc8efc44d8eb36ee4d1bb89eec3b7255b49929e126e86a4b4a788 ...