Skip to content

Merge pull request #1386 from maticnetwork/dependabot/go_modules/gola… #18

Merge pull request #1386 from maticnetwork/dependabot/go_modules/gola…

Merge pull request #1386 from maticnetwork/dependabot/go_modules/gola… #18

Workflow file for this run

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