Merge pull request #1383 from maticnetwork/v1.5.3-beta-candidate #16
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
name: packager_deb | |
on: | |
push: | |
branches: | |
- 'master' | |
paths: | |
- '**' | |
tags: | |
- 'v*.*.*' | |
- 'v*.*.*-*' | |
jobs: | |
build: | |
permissions: | |
id-token: write | |
contents: write | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Go | |
uses: actions/setup-go@master | |
with: | |
go-version: 1.22.1 | |
# Variables | |
- name: Adding TAG to ENV | |
run: echo "GIT_TAG=`echo $(git describe --tags --abbrev=0)`" >> $GITHUB_ENV | |
- name: adding version | |
run: | | |
NUMERIC_VERSION=$( echo ${{ env.GIT_TAG }} | sed 's/[^0-9.]//g' ) | |
echo "VERSION=$NUMERIC_VERSION" >> $GITHUB_ENV | |
- name: Cleaning repo | |
run: make clean | |
- name: Building for amd64 | |
run: make bor | |
- name: Making directory structure | |
run: mkdir -p packaging/deb/bor/usr/bin | |
- name: Copying necessary files | |
run: cp -rp build/bin/bor packaging/deb/bor/usr/bin/ | |
- name: Delete control file | |
run: rm -rf packaging/deb/bor/DEBIAN/control | |
# Control file creation | |
- name: create control file | |
run: | | |
touch packaging/deb/bor/DEBIAN/control | |
echo "Package: bor" >> packaging/deb/bor/DEBIAN/control | |
echo "Version: ${{ env.VERSION }}" >> packaging/deb/bor/DEBIAN/control | |
echo "Section: base" >> packaging/deb/bor/DEBIAN/control | |
echo "Priority: optional" >> packaging/deb/bor/DEBIAN/control | |
echo "Architecture: amd64" >> packaging/deb/bor/DEBIAN/control | |
echo "Maintainer: [email protected]" >> packaging/deb/bor/DEBIAN/control | |
echo "Description: bor binary package" >> packaging/deb/bor/DEBIAN/control | |
- name: Creating package for binary for bor ${{ env.ARCH }} | |
run: cp -rp packaging/deb/bor packaging/deb/bor-${{ env.GIT_TAG }}-${{ env.ARCH }} | |
env: | |
ARCH: amd64 | |
- name: Running package build | |
run: dpkg-deb --build --root-owner-group packaging/deb/bor-${{ env.GIT_TAG }}-${{ env.ARCH }} | |
env: | |
ARCH: amd64 | |
- name: Cleaning build directory for arm64 build | |
run: make clean | |
- name: Updating the apt-get | |
run: sudo apt-get update -y | |
- name: Adding requirements for cross compile | |
run: sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu | |
- name: delete amd64 control file | |
run: rm -rf packaging/deb/bor/DEBIAN/control | |
- name: Building bor for arm64 | |
run: GOARCH=arm64 GOOS=linux CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ CGO_ENABLED=1 go build -o build/bin/bor ./cmd/cli/main.go | |
- name: Copying necessary binary post arm64 build | |
run: cp -rp build/bin/bor packaging/deb/bor/usr/bin/ | |
# Control file for arm64 creation | |
- name: create control file | |
run: | | |
touch packaging/deb/bor/DEBIAN/control | |
echo "Package: bor" >> packaging/deb/bor/DEBIAN/control | |
echo "Version: ${{ env.VERSION }}" >> packaging/deb/bor/DEBIAN/control | |
echo "Section: base" >> packaging/deb/bor/DEBIAN/control | |
echo "Priority: optional" >> packaging/deb/bor/DEBIAN/control | |
echo "Architecture: arm64" >> packaging/deb/bor/DEBIAN/control | |
echo "Maintainer: [email protected]" >> packaging/deb/bor/DEBIAN/control | |
echo "Description: bor binary package" >> packaging/deb/bor/DEBIAN/control | |
- name: Creating package for binary for bor ${{ env.ARCH }} | |
run: cp -rp packaging/deb/bor packaging/deb/bor-${{ env.GIT_TAG }}-${{ env.ARCH }} | |
env: | |
ARCH: arm64 | |
- name: Running package build | |
run: dpkg-deb --build --root-owner-group packaging/deb/bor-${{ env.GIT_TAG }}-${{ env.ARCH }} | |
env: | |
ARCH: arm64 | |
# Shasum | |
- name: shasum the bor debian package | |
run: cd packaging/deb/ && sha256sum bor-${{ env.GIT_TAG }}-${{ env.ARCH }}.deb > bor-${{ env.GIT_TAG }}-${{ env.ARCH }}.deb.checksum | |
env: | |
ARCH: amd64 | |
- name: shasum the bor debian package | |
run: cd packaging/deb/ && sha256sum bor-${{ env.GIT_TAG }}-${{ env.ARCH }}.deb > bor-${{ env.GIT_TAG }}-${{ env.ARCH }}.deb.checksum | |
env: | |
ARCH: arm64 | |
- name: Release bor Packages | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: ${{ env.GIT_TAG }} | |
prerelease: true | |
files: | | |
packaging/deb/bor**.deb | |
packaging/deb/bor**.deb.checksum |