Skip to content

Commit

Permalink
Test
Browse files Browse the repository at this point in the history
  • Loading branch information
PruStephan committed Nov 19, 2023
1 parent 7fbb972 commit 5a1a913
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 164 deletions.
156 changes: 7 additions & 149 deletions .buildkite/pipeline-for-tags.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,169 +8,27 @@ env:


steps:
- label: Check for new Octez release
if: build.source == "schedule" && build.branch == "master"
commands:
- nix develop .#autorelease -c ./scripts/update-tezos.sh

- label: Build ubuntu source packages
key: build-ubuntu-source-packages
if: build.tag =~ /^v.*-1/
agents:
queue: "docker"
commands:
- eval "$SET_VERSION"
- nix develop .#docker-tezos-packages -c ./docker/build/ubuntu/build.py --type source
artifact_paths:
- ./out/*

- label: Build fedora source packages
key: build-fedora-source-packages
if: build.tag =~ /^v.*-1/
agents:
queue: "docker"
commands:
- eval "$SET_VERSION"
- nix develop .#docker-tezos-packages -c ./docker/build/fedora/build.py --type source
artifact_paths:
- ./out/*

- label: Sign ubuntu source packages
if: build.tag =~ /^v.*-1/
depends_on:
- "build-ubuntu-source-packages"
key: sign-ubuntu-source-packages
commands:
- eval "$SET_VERSION"
- buildkite-agent artifact download "out/*" . --step build-ubuntu-source-packages
- nix develop .#docker-tezos-packages -c ./docker/build/ubuntu/sign.py -d out -i 'Serokell <[email protected]>'
artifact_paths:
- ./out/*

- label: Sign fedora source packages
if: build.tag =~ /^v.*-1/
depends_on:
- "build-fedora-source-packages"
key: sign-fedora-source-packages
commands:
- eval "$SET_VERSION"
- buildkite-agent artifact download "out/*" . --step build-fedora-source-packages
- nix develop .#docker-tezos-packages -c ./docker/build/fedora/sign.py -d out -i 'Serokell <[email protected]>'
artifact_paths:
- ./out/*

- label: Publish ubuntu native packages
if: build.tag =~ /^v.*-1/
depends_on:
- "sign-ubuntu-source-packages"
commands:
- eval "$SET_VERSION"
- buildkite-agent artifact download "out/*" . --step sign-ubuntu-source-packages
- nix develop .#buildkite -c ./docker/build/ubuntu/upload.py -d out

- label: Publish fedora native packages
if: build.tag =~ /^v.*-1/
depends_on:
- "sign-fedora-source-packages"
commands:
- eval "$SET_VERSION"
- buildkite-agent artifact download "out/*" . --step sign-fedora-source-packages
- nix develop .#buildkite -c ./docker/build/fedora/upload.py -d out

- label: build-via-docker
if: build.tag =~ /^v.*-1/
if: build.tag == "test-736"
key: build-via-docker
commands:
- eval "$SET_VERSION"
- cd docker
- ./docker-static-build.sh
- buildkite-agent artifact upload /tmp/binaries.txt
artifact_paths:
- ./docker/
agents:
queue: "docker"

- label: Build source packages from static binaries
key: build-source-packages-from-static-binaries
if: build.tag =~ /^v.*-1/
agents:
queue: "docker"
depends_on:
- "build-via-docker"
commands:
- eval "$SET_VERSION"
- mkdir binaries
- buildkite-agent artifact download "docker/*" binaries --step build-via-docker
- nix develop .#docker-tezos-packages -c ./docker/build/fedora/build.py --type source --output-dir epel --binaries-dir ./binaries/docker
artifact_paths:
- ./epel/*

- label: Sign source packages built from static binaries
key: sign-source-packages-built-from-static-binaries
if: build.tag =~ /^v.*-1/
depends_on:
- "build-source-packages-from-static-binaries"
commands:
- eval "$SET_VERSION"
- buildkite-agent artifact download "epel/*" . --step build-source-packages-from-static-binaries
- nix develop .#docker-tezos-packages -c ./docker/build/fedora/sign.py -d epel -i 'Serokell <[email protected]>'
artifact_paths:
- ./epel/*

- label: Publish epel packages
if: build.tag =~ /^v.*-1/
depends_on:
- "sign-source-packages-built-from-static-binaries"
commands:
- eval "$SET_VERSION"
- mkdir -p srcs
- buildkite-agent artifact download "epel/*" srcs --step sign-source-packages-built-from-static-binaries
- nix develop .#buildkite -c ./docker/build/fedora/upload.py -d srcs/epel --upload epel

- label: Build Big Sur x86_64 bottles
key: build-bottles-big-sur-x86_64
if: build.tag =~ /^v.*/
agents:
queue: "x86_64-rosetta-darwin"
commands:
- nix develop .#autorelease-macos -c ./scripts/build-all-bottles.sh "big_sur"
artifact_paths:
- '*.bottle.*'
retry:
automatic:
limit: 1

- label: Build Big Sur arm64 bottles
key: build-bottles-big-sur-arm64
if: build.tag =~ /^v.*/
agents:
queue: "arm64-darwin"
commands:
- nix develop .#autorelease-macos -c ./scripts/build-all-bottles.sh "arm64_big_sur"
artifact_paths:
- '*.bottle.*'
retry:
automatic:
limit: 1

# We use the tag that triggered the pipeline here.
# However, this requires that the tag and the release name are the same, which
# in practice it's always the case in this repo.
- label: Add Big Sur bottle hashes to formulae
key: add-bigsur-hashes
depends_on:
- "build-bottles-big-sur-arm64"
- "build-bottles-big-sur-x86_64"
if: build.tag =~ /^v.*/
commands:
- mkdir -p "Big Sur"
- nix develop .#buildkite -c gh release download "$BUILDKITE_TAG" -D "Big Sur/" -p "*big_sur.bottle.tar.gz"
- nix develop .#autorelease -c ./scripts/sync-bottle-hashes.sh "$BUILDKITE_TAG" "Big Sur"

- label: Update binaries list
depends_on:
- "build-via-docker"
- "add-bigsur-hashes"
if: build.tag =~ /^v.*-1/
# - "add-bigsur-hashes"
if: build.tag == "test-736"
key: update-binaries
commands:
- nix develop .#buildkite /tezos-packiging/.buildkite/update-binaries.sh "$BUILDKITE_TAG" "$(buildkite-agent artifact download /docker/binaries.txt)"
- buildkite-agent artifact download tmp/binaries.txt docker --step "build-via-docker"
- cd docker
- nix develop .#autorelease -c ./update-binaries.sh
4 changes: 4 additions & 0 deletions .buildkite/retag.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
git tag -d test-736
git push --delete origin test-736
git tag -a test-736 -m "Test"
git push origin test-736
5 changes: 3 additions & 2 deletions docker/docker-static-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ if [ -z ${OCTEZ_EXECUTABLES+x} ]; then
binaries+=("octez-accuser-$proto" "octez-baker-$proto" "octez-smart-rollup-client-$proto" "octez-smart-rollup-node-$proto")
done

printf "%s\n" "${binaries[@]}" > "binaries.txt"

OCTEZ_EXECUTABLES="$( IFS=$' '; echo "${binaries[*]}" )"
else
IFS=' ' read -r -a binaries <<< "$OCTEZ_EXECUTABLES"
Expand Down Expand Up @@ -54,4 +52,7 @@ container_id="$("$virtualisation_engine" create alpine-tezos)"
for b in "${binaries[@]}"; do
"$virtualisation_engine" cp "$container_id:/tezos/$b" "$b"
done
printf "%s\n" "${binaries[@]}" > "/tmp/binaries.txt"
echo "${binaries[@]}"
echo "$(ls /tmp | grep binaries.txt)"
"$virtualisation_engine" rm -v "$container_id"
15 changes: 7 additions & 8 deletions docker/package/scripts/update-binaries-list.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@
import sys
import json

binaries_json_path = "/tezos-packiging/docker/test/binaries.json"
binaries_json_path_suffix = "/tests/binaries.json"
binaries_list_path_suffix = "/tmp/binaries.txt"

def update_binaries(binaries, field):
binaries_json_path = os.environ["PWD"] + binaries_json_path_suffix
with open(binaries_json_path, 'r') as file:
data = json.load(file)

Expand All @@ -14,15 +16,12 @@ def update_binaries(binaries, field):


def main():
if len(sys.argv) < 3:
print("You need to provide tag and path to list of binaries argument")
return
tag = sys.argv[1]

tag = os.environ["BUILDKITE_TAG"]
binaries = []
with open(sys.argv[2], 'r') as f:
binaries_list_path = os.environ["PWD"] + binaries_list_path_suffix
with open(binaries_list_path, 'r') as f:
binaries = [l.strip() for l in f.readlines()]

print(binaries)
if not binaries:
raise Exception('Exception, while reading binaries list: binaries list is empty')

Expand Down
15 changes: 10 additions & 5 deletions .buildkite/update-binaries.sh → docker/update-binaries.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,21 @@
# SPDX-License-Identifier: LicenseRef-MIT-TQ

bot_name="CI bot"
branch="update-binaries-list-$BUILDKITE_TAG"

git config --local user.email "[email protected]"
git config --local user.name "$bot_name"
git remote remove auth-origin 2> /dev/null || :
git remote add auth-origin "https://oath2:$GITHUB_PUSH_TOKEN@github.com:serokell/tezos-packaging.git"
git fetch
git checkout -B "$1" --track "origin/$1"
git checkout -B "$branch"

python3 /tezos-packiging/docker/package/scripts/update-binaries-list.py $1
python3 package/scripts/update-binaries-list.py

git add --all
git commit --fixup HEAD -m "Updated binaries for $1 release"
git push auth-origin "$our_branch"
git commit -m "Updated binaries for $BUILDKITE_TAG release"
git push --set-upstream auth-origin "$our_branch"
# gh pr create -B master -t "Update list of binaries for $BUILDKITE_TAG"
# branch="$(git branch)"
# echo $branch
# diff="$(git diff)"
# echo $diff

0 comments on commit 5a1a913

Please sign in to comment.