-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e3aefd1
commit 8982d06
Showing
2 changed files
with
56 additions
and
30 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,23 +13,19 @@ 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 \ | ||
|
@@ -44,29 +41,35 @@ runs: | |
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/ | ||
# 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 | ||
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: | | ||
# Control file's architecture field does not allow underscores, so use amd64. | ||
arch=$(uname -m | sed "s/x86_64/amd64/") | ||
# 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 +79,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