-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: devops CI release issues (#547)
- Loading branch information
1 parent
e3aefd1
commit e21b084
Showing
13 changed files
with
185 additions
and
437 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: | ||
|
@@ -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 | ||
|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.