Skip to content

[ci] Ensure focal arm64 builds all have their required dependencies (… #450

[ci] Ensure focal arm64 builds all have their required dependencies (…

[ci] Ensure focal arm64 builds all have their required dependencies (… #450

name: build-linux-release
on:
workflow_dispatch:
inputs:
tag:
description: 'Tag to include in artifact name'
required: true
push:
tags:
- "*"
jobs:
build-x86_64-binaries-tarball:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-go-for-project
- run: go version
- name: Build the avalanchego binaries
run: ./scripts/build.sh
- name: Install aws cli
run: |
sudo apt update
sudo apt -y install awscli
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Try to get tag from git
if: "${{ github.event.inputs.tag == '' }}"
id: get_tag_from_git
run: |
echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
shell: bash
- name: Try to get tag from workflow dispatch
if: "${{ github.event.inputs.tag != '' }}"
id: get_tag_from_workflow
run: |
echo "TAG=${{ github.event.inputs.tag }}" >> $GITHUB_ENV
shell: bash
- name: Create tgz package structure and upload to S3
run: ./.github/workflows/build-tgz-pkg.sh
env:
PKG_ROOT: /tmp/avalanchego
TAG: ${{ env.TAG }}
BUCKET: ${{ secrets.BUCKET }}
ARCH: "amd64"
RELEASE: "focal"
- name: Save as Github artifact
uses: actions/upload-artifact@v4
with:
name: amd64
path: /tmp/avalanchego/avalanchego-linux-amd64-${{ env.TAG }}.tar.gz
- name: Cleanup
run: |
rm -rf ./build
rm -rf /tmp/avalanchego
build-arm64-binaries-tarball:
runs-on: custom-arm64-focal
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/install-focal-deps
- uses: ./.github/actions/setup-go-for-project-v3
- run: go version
- name: Build the avalanchego binaries
run: ./scripts/build.sh
- name: Install aws cli
run: |
sudo apt update
sudo apt -y install awscli
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Try to get tag from git
if: "${{ github.event.inputs.tag == '' }}"
id: get_tag_from_git
run: |
echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
shell: bash
- name: Try to get tag from workflow dispatch
if: "${{ github.event.inputs.tag != '' }}"
id: get_tag_from_workflow
run: |
echo "TAG=${{ github.event.inputs.tag }}" >> $GITHUB_ENV
shell: bash
- name: Create tgz package structure and upload to S3
run: ./.github/workflows/build-tgz-pkg.sh
env:
PKG_ROOT: /tmp/avalanchego
TAG: ${{ env.TAG }}
BUCKET: ${{ secrets.BUCKET }}
ARCH: "arm64"
RELEASE: "focal"
- name: Save as Github artifact
uses: actions/upload-artifact@v4
with:
name: arm64
path: /tmp/avalanchego/avalanchego-linux-arm64-${{ env.TAG }}.tar.gz
- name: Cleanup
run: |
rm -rf ./build
rm -rf /tmp/avalanchego