]> Untitled Git - lemmy.git/blob - scripts/release.sh
Add tag to lemmy-ansible. (#2172)
[lemmy.git] / scripts / release.sh
1 #!/bin/sh
2 #git checkout main
3
4 pushd ../docker/prod/
5
6 # Creating the new tag
7 new_tag="$1"
8 third_semver=$(echo $new_tag | cut -d "." -f 3)
9
10 # The ansible and docker installs should only update for non release-candidates
11 # IE, when the third semver is a number, not '2-rc'
12 if [ ! -z "${third_semver##*[!0-9]*}" ]; then
13   sed -i "s/dessalines\/lemmy:.*/dessalines\/lemmy:$new_tag/" ../prod/docker-compose.yml
14   sed -i "s/dessalines\/lemmy-ui:.*/dessalines\/lemmy-ui:$new_tag/" ../prod/docker-compose.yml
15   sed -i "s/dessalines\/lemmy-ui:.*/dessalines\/lemmy-ui:$new_tag/" ../dev/docker-compose.yml
16   sed -i "s/dessalines\/lemmy-ui:.*/dessalines\/lemmy-ui:$new_tag/" ../federation/docker-compose.yml
17   git add ../prod/docker-compose.yml
18   git add ../dev/docker-compose.yml
19   git add ../federation/docker-compose.yml
20
21   # Setting the version for Ansible
22   pushd ../../../lemmy-ansible
23   echo $new_tag > "VERSION"
24   git add "VERSION"
25   git commit -m"Updating VERSION"
26   git tag $new_tag
27   git push origin $new_tag
28   git push
29   popd
30 fi
31
32 # Update crate versions for crates.io
33 pushd ../../
34 old_tag=$(head -3 Cargo.toml | tail -1 | cut -d'"' -f 2)
35 for crate in crates/*; do
36   pushd $crate
37   # update version of the crate itself (only first occurence)
38   # https://stackoverflow.com/a/9453461
39   sed -i "0,/version = \"$old_tag\"/s//version = \"$new_tag\"/g" Cargo.toml
40   # update version of lemmy dependencies
41   sed -i "s/{ version = \"=$old_tag\", path/{ version = \"=$new_tag\", path/g" Cargo.toml
42   git add Cargo.toml
43   popd
44 done
45 # same as above, for the main cargo.toml
46 sed -i "s/{ version = \"=$old_tag\", path/{ version = \"=$new_tag\", path/g" Cargo.toml
47 sed -i "s/version = \"$old_tag\"/version = \"$new_tag\"/g" Cargo.toml
48 git add Cargo.toml
49 cargo check
50 git add Cargo.lock
51 popd
52
53 # The commit
54 git commit -m"Version $new_tag"
55 git tag $new_tag
56
57 # export COMPOSE_DOCKER_CLI_BUILD=1
58 # export DOCKER_BUILDKIT=1
59
60 # Push
61 git push origin $new_tag
62 git push
63
64 # Pushing to any ansible deploys
65 # cd ../../../lemmy-ansible || exit
66 # ansible-playbook -i prod playbooks/site.yml --vault-password-file vault_pass