Skip to content

Commit

Permalink
feat ✨: add updatecli
Browse files Browse the repository at this point in the history
Signed-off-by: Victor Hang <[email protected]>
  • Loading branch information
Banh-Canh committed Dec 19, 2024
1 parent 1a73dd0 commit 2d42553
Show file tree
Hide file tree
Showing 6 changed files with 94 additions and 0 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
39 changes: 39 additions & 0 deletions .github/workflows/updatecli-ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Updatecli
on:
pull_request:
pull_request_target:
types: [opened, synchronize, reopened, edited]
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
permissions:
contents: 'write'
pull-requests: 'write'
jobs:
updatecli:
runs-on: 'ubuntu-latest'
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Updatecli in the runner
uses: updatecli/updatecli-action@v2
- name: Get Nixpkgs revision for nixfmt
run: |
# This should not be a URL, because it would allow PRs to run arbitrary code in CI!
url=$(jq -r .pins.nixpkgs.url npins/sources.json)
echo "url=$url" >> "$GITHUB_ENV"
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
with:
nix_path: nixpkgs=${{ env.url }}
extra_nix_config: |
trusted-public-keys = didactiklabs-nixcache:PxLKN0+ZkP07M8g8/B6xbP6A4MYpqQg6LH7V3muiy/0= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
extra-substituters = https://s3.didactiklabs.io/nix-cache https://cache.nixos.org/
- name: Run Updatecli in Dry Run mode
run: 'updatecli diff --config ./updatecli/updatecli.d --values updatecli/values.yaml --debug'
env:
UPDATECLI_GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
- name: Run Updatecli in apply mode
run: 'updatecli apply --config ./updatecli/updatecli.d --values updatecli/values.yaml'
env:
UPDATECLI_GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
50 changes: 50 additions & 0 deletions updatecli/updatecli.d/nixpkgs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# manifest.yaml
name: QuickStart example
scms:
default:
kind: 'github'
spec:
email: '[email protected]'
owner: 'didactiklabs'
repository: 'nixbook'
token: '{{ requiredEnv "UPDATECLI_GITHUB_TOKEN" }}'
username: '{{ requiredEnv "GITHUB_ACTOR" }}'
branch: 'main'
# Defines how to get "source" information such as Jenkins version
sources:
default:
name: Get value from json
scmid: 'default'
kind: json
spec:
file: npins/sources.json
key: pins.nixpkgs.revision
# Defines "conditions" required to update targets
conditions:
default:
scmid: 'default'
kind: shell
spec:
environments:
- name: PATH
command: echo $(git ls-remote https://github.com/NixOS/nixpkgs nixos-24.11 | awk '{print $1}') ==
# Defines "targets" which need to be updated if different than "source" information.
targets:
default:
name: NpinsUpdate
kind: shell
scmid: 'default'
spec:
environments:
- name: PATH
command: nix-shell -p npins --command "npins update nixpkgs" && echo
# Define action configurations if one needs to be created
actions:
default:
kind: 'github/pullrequest'
scmid: 'default'
spec:
automerge: false
description: 'Prepend description'
draft: false
title: 'Pull Request Title'
5 changes: 5 additions & 0 deletions updatecli/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
github:
user: 'GitHub Actions Bot'
email: '[email protected]'
username: 'didactik-bot'
token: 'UPDATECLI_GITHUB_TOKEN'

0 comments on commit 2d42553

Please sign in to comment.