Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: fix devops release issues #547

Merged
merged 1 commit into from
Nov 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading