this repo has no description
1when:
2 - event: ["push", "manual"]
3 branch: ["main"]
4
5engine: nixery
6
7dependencies:
8 nixpkgs:
9 - semver-tool
10 - openssh
11 - less
12
13steps:
14 - name: Setup user
15 command: |
16 echo "root:x:0:0::$HOME:/usr/bin/bash" >> /etc/passwd
17
18 - name: Setup SSH
19 command: |
20 mkdir -p $HOME/.ssh
21 echo "-----BEGIN OPENSSH PRIVATE KEY-----" > $HOME/.ssh/privkey
22 printf $SSH_KEY >> $HOME/.ssh/privkey
23 echo "-----END OPENSSH PRIVATE KEY-----" >> $HOME/.ssh/privkey
24 chmod 600 $HOME/.ssh/privkey
25 ssh-keyscan -t rsa tangled.org >> $HOME/.ssh/known_hosts
26
27 - name: Setup SSH repo
28 command: |
29 git config --global user.email "evann.regnault@pm.me"
30 git config --global user.name "Evann Regnault"
31 git fetch
32 git checkout main
33 git pull --tags
34 URL=$(git remote get-url origin)
35 REPO=${URL#*//*/}
36 git remote set-url origin "git@tangled.org:"$REPO
37
38 - name: Next tag
39 command: |
40 TAG=$(git tag | tac | head -1)
41
42 if [ "$TAG" == "" ]; then
43 TAG="0.0.0"
44 fi
45
46 COMMIT=$(git log -1 --pretty=%B)
47
48 case "${COMMIT^^}" in
49 MAJOR*) TYPE="major" ;;
50 MINOR*) TYPE="minor" ;;
51 PATCH*) TYPE="patch" ;;
52 *) TYPE="" ;;
53 esac
54
55 if [ $TYPE ]; then
56 semver bump $TYPE $TAG > tag
57 fi
58
59 - name: Push new tag
60 environment:
61 GIT_SSH_COMMAND: "ssh -i $HOME/.ssh/privkey -o IdentitiesOnly=yes"
62 command: |
63 if [ -f "tag" ]; then
64 TAG=$(cat tag)
65 git tag -a $TAG -m "Release $TAG"
66 git push --tags
67 fi