Skip to content

Commit

Permalink
Build on arm
Browse files Browse the repository at this point in the history
  • Loading branch information
nsavoire committed May 31, 2024
1 parent 1392fad commit d355fca
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@ on:
branches: [main]
pull_request:
branches: ["**"]
workflow_call:

jobs:
lint:
name: Lint
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
fail-fast: true
max-parallel: 2
Expand Down Expand Up @@ -64,15 +65,16 @@ jobs:
test:
name: Test
runs-on: ubuntu-latest
strategy:
fail-fast: true
max-parallel: 2
matrix:
go: ["stable"]
os: ["arm-4core-linux", "ubuntu-22.04"]
runs-on: ${{ matrix.os }}
steps:
- name: Install dependencies
run: sudo apt-get install -y llvm clang dwz cmake curl unzip
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends gcc make llvm clang dwz cmake curl unzip
- name: Install Zydis
shell: bash
run: |
Expand All @@ -98,11 +100,13 @@ jobs:
- name: Install gRPC dependencies
env:
PB_URL: "https://github.com/protocolbuffers/protobuf/releases/download/v24.4/"
PB_FILE: "protoc-24.4-linux-x86_64.zip"
PB_FILE: "protoc-24.4-linux-%arch%.zip"
INSTALL_DIR: "/usr/local"
run: |
go install google.golang.org/protobuf/cmd/[email protected]
go install google.golang.org/grpc/cmd/[email protected]
ARCH=$(uname -m | sed 's/aarch64/aarch_64/')
PB_FILE=$(echo $PB_FILE | sed "s/%arch%/$ARCH/g")
curl -LO "$PB_URL/$PB_FILE"
sudo unzip "$PB_FILE" -d "$INSTALL_DIR" 'bin/*' 'include/*'
sudo chmod +xr "$INSTALL_DIR/bin/protoc"
Expand All @@ -114,7 +118,15 @@ jobs:
- name: Build
run: |
echo $PATH
make test
make
- name: Tests
# Tests fail on arm
if: matrix.os != 'arm-4core-linux'
run: |
make test
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: agent-${{ matrix.os == 'arm-4core-linux' && 'aarch64' || 'x86_64' }}
path: otel-profiling-agent

35 changes: 35 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Release

on:
push:
branches: [nsavoire/ci_build]
tags:
- 'v*'

jobs:
build:
name: Build
uses: ./.github/workflows/build.yml

release:
needs: build
name: Release
runs-on: ubuntu-latest
permissions:
actions: read
contents: write
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
- name: Create assets
run: |
tar czf otel-profiling-agent-${GITHUB_REF_NAME}-aarch64.tar.gz -C agent-aarch64 .
tar czf otel-profiling-agent-${GITHUB_REF_NAME}-x86_64.tar.gz -C agent-x86_64 .
- name: Create Release
uses: ncipollo/release-action@v1
with:
artifacts: "otel-profiling-agent-${GITHUB_REF_NAME}-aarch64.tar.gz, otel-profiling-agent-${GITHUB_REF_NAME}-x86_64.tar.gz"
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
omitBody: true
draft: true

0 comments on commit d355fca

Please sign in to comment.