Skip to content

Commit

Permalink
fix: devops CI release issues (#547)
Browse files Browse the repository at this point in the history
  • Loading branch information
Mirko-von-Leipzig authored Nov 17, 2024
1 parent e3aefd1 commit e21b084
Show file tree
Hide file tree
Showing 13 changed files with 185 additions and 437 deletions.
94 changes: 63 additions & 31 deletions .github/actions/build_package/action.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Creates miden-node.deb and miden-faucet.deb DEBIAN packages.
name: build-package
description: Builds miden-node and miden-faucet debian packages for the given git reference
inputs:
Expand All @@ -12,61 +13,73 @@ runs:
id: git-sha
shell: bash
run: |
if git show-ref -q --verify "refs/remotes/origin/$gitref" 2>/dev/null; then
echo "sha=$(git show-ref --hash --verify "refs/remotes/origin/$gitref")" >> $GITHUB_OUTPUT
elif git show-ref -q --verify "refs/tags/$gitref" 2>/dev/null; then
echo "sha=$(git show-ref --hash --verify "refs/tags/$gitref")" >> $GITHUB_OUTPUT
elif git rev-parse --verify "$gitref^{commit}" >/dev/null 2>&1; then
echo "sha=$(git rev-parse --verify "$gitref^{commit})" >> $GITHUB_OUTPUT
if git show-ref -q --verify "refs/remotes/origin/${{ inputs.gitref }}" 2>/dev/null; then
echo "sha=$(git show-ref --hash --verify 'refs/remotes/origin/${{ inputs.gitref }}')" >> $GITHUB_OUTPUT
elif git show-ref -q --verify "refs/tags/${{ inputs.gitref }}" 2>/dev/null; then
echo "sha=$(git show-ref --hash --verify 'refs/tags/${{ inputs.gitref }}')" >> $GITHUB_OUTPUT
elif git rev-parse --verify "${{ inputs.gitreff }}^{commit}" >/dev/null 2>&1; then
echo "sha=$(git rev-parse --verify '${{ inputs.gitref }}^{commit}')" >> $GITHUB_OUTPUT
else
echo "::error Unknown git reference type"
# exit 1
exit 1
fi
- name: Build binaries
run: |
cargo install miden-node --locked --features testing --git ${{ github.repositoryUrl }} --rev ${{ steps.git-sha.outputs.sha }}
cargo install miden-faucet --locked --features testing --git ${{ github.repositoryUrl }} --rev ${{ steps.git-sha.outputs.sha }}
- name: Create package directories
shell: bash
run: |
mkdir -p \
packaging/deb/miden-node/DEBIAN \
packaging/deb/miden-node/usr/bin\
packaging/deb/miden-node/lib/systemd/system\
packaging/deb/miden-node/etc/miden\
packaging/deb/miden-node/opt/miden/miden-faucet
packaging/deb/miden-node/etc/opt/miden-node\
packaging/deb/miden-node/opt/miden-node
mkdir -p \
packaging/deb/miden-faucet/DEBIAN \
packaging/deb/miden-faucet/usr/bin\
packaging/deb/miden-faucet/lib/systemd/system\
packaging/deb/miden-faucet/etc/miden\
packaging/deb/miden-faucet/opt/miden/miden-faucet
- name: Copy binary files
run: |
cp -p $CARGO_HOME/bin/miden-node packaging/deb/miden-node/urs/bin/
cp -p $CARGO_HOME/bin/miden-faucet packaging/deb/miden-faucet/urs/bin/
packaging/deb/miden-faucet/etc/opt/miden-faucet\
packaging/deb/miden-faucet/opt/miden-faucet
# These have to be downloaded as the current repo source isn't necessarily the target git reference.
- name: Copy package install scripts
shell: bash
run: |
git show ${{ steps.git-sha.outputs.sha }}:packaging/miden-node.service > packaging/deb/miden-node/lib/systemd/system/miden-node.service
git show ${{ steps.git-sha.outputs.sha }}:packaging/postinst > packaging/deb/miden-node/DEBIAN/postinst
git show ${{ steps.git-sha.outputs.sha }}:packaging/postrm > packaging/deb/miden-node/DEBIAN/postrm
git show ${{ steps.git-sha.outputs.sha }}:packaging/miden-faucet.service > packaging/deb/miden-faucet/lib/systemd/system/miden-faucet.service
git show ${{ steps.git-sha.outputs.sha }}:packaging/postinst > packaging/deb/miden-faucet/DEBIAN/postinst
git show ${{ steps.git-sha.outputs.sha }}:packaging/postrm > packaging/deb/miden-faucet/DEBIAN/postrm
# git show ${{ steps.git-sha.outputs.sha }}:packaging/node/miden-node.service > packaging/deb/miden-node/lib/systemd/system/miden-node.service
# git show ${{ steps.git-sha.outputs.sha }}:packaging/node/postinst > packaging/deb/miden-node/DEBIAN/postinst
# git show ${{ steps.git-sha.outputs.sha }}:packaging/node/postrm > packaging/deb/miden-node/DEBIAN/postrm
# git show ${{ steps.git-sha.outputs.sha }}:packaging/faucet/miden-faucet.service > packaging/deb/miden-faucet/lib/systemd/system/miden-faucet.service
# git show ${{ steps.git-sha.outputs.sha }}:packaging/faucet/postinst > packaging/deb/miden-faucet/DEBIAN/postinst
# git show ${{ steps.git-sha.outputs.sha }}:packaging/faucet/postrm > packaging/deb/miden-faucet/DEBIAN/postrm
# This is temporary until these files land on main.
cp packaging/node/miden-node.service packaging/deb/miden-node/lib/systemd/system/miden-node.service
cp packaging/node/postinst packaging/deb/miden-node/DEBIAN/postinst
cp packaging/node/postrm packaging/deb/miden-node/DEBIAN/postrm
cp packaging/faucet/miden-faucet.service packaging/deb/miden-faucet/lib/systemd/system/miden-faucet.service
cp packaging/faucet/postinst packaging/deb/miden-faucet/DEBIAN/postinst
cp packaging/faucet/postrm packaging/deb/miden-faucet/DEBIAN/postrm
chmod 0775 packaging/deb/miden-node/DEBIAN/postinst
chmod 0775 packaging/deb/miden-node/DEBIAN/postrm
chmod 0775 packaging/deb/miden-faucet/DEBIAN/postinst
chmod 0775 packaging/deb/miden-faucet/DEBIAN/postrm
- name: Create control files
shell: bash
run: |
# Map the architecture to the format required by Debian.
# i.e. arm64 and amd64 instead of aarch64 and x86_64.
arch=$(uname -m | sed "s/x86_64/amd64/" | sed "s/aarch64/arm64/")
# Control file's version field must be x.y.z format so strip the rest.
version=$(git describe --tags --abbrev=0 | sed 's/[^0-9.]//g' )
cat > packaging/deb/miden-node/DEBIAN/control << EOF
Package: miden-node
Version: ${{ inputs.gitref }}
Version: $version
Section: base
Priority: optional
Architecture: $(uname -m)
Architecture: $arch
Maintainer: Polygon Devops <[email protected]>
Description: miden-node binary package
Homepage: https://polygon.technology/polygon-miden
Expand All @@ -76,18 +89,37 @@ runs:
cat > packaging/deb/miden-faucet/DEBIAN/control << EOF
Package: miden-faucet
Version: ${{ inputs.gitref }}
Version: $version
Section: base
Priority: optional
Architecture: $(uname -m)
Architecture: $arch
Maintainer: Polygon Devops <[email protected]>
Description: miden-faucet binary package
Homepage: https://polygon.technology/polygon-miden
Vcs-Git: [email protected]:0xPolygonMiden/miden-node.git
Vcs-Browser: https://github.com/0xPolygonMiden/miden-node
EOF
- name: Build binaries
shell: bash
env:
repo-url: ${{ github.server_url }}/${{ github.repository }}
run: |
cargo install miden-node --root . --locked --features testing --git ${{ env.repo-url }} --rev ${{ steps.git-sha.outputs.sha }}
cargo install miden-faucet --root . --locked --features testing --git ${{ env.repo-url }} --rev ${{ steps.git-sha.outputs.sha }}
- name: Copy binary files
shell: bash
run: |
cp -p ./bin/miden-node packaging/deb/miden-node/usr/bin/
cp -p ./bin/miden-faucet packaging/deb/miden-faucet/usr/bin/
- name: Build packages
shell: bash
run: |
dpkg-deb --build --root-owner-group packaging/deb/miden-node
dpkg-deb --build --root-owner-group packaging/deb/miden-faucet
# Save the .deb files, delete the rest.
mv packaging/deb/*.deb .
rm -rf packaging
2 changes: 1 addition & 1 deletion .github/actions/ssm_execute/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ runs:
break
elif [ "$STATUS" == "Failed" ] || [ "$STATUS" == "Cancelled" ]; then
echo "Command failed with status: $STATUS"
break
exit 1
else
elapsed_time=$(( $(date +%s) - start_time ))
if [ "$elapsed_time" -gt "$timeout" ]; then
Expand Down
134 changes: 0 additions & 134 deletions .github/workflows/amd_deb_packager.yml

This file was deleted.

Loading

0 comments on commit e21b084

Please sign in to comment.