Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running PR to test 32-bit ARM builds #3492

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 137 additions & 1 deletion .drone/drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -371,6 +371,40 @@ trigger:
type: docker
---
kind: pipeline
name: Build agent (Linux armv6)
platform:
arch: amd64
os: linux
steps:
- commands:
- make generate-ui
- GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=arm GOARM=6
make agent
image: grafana/agent-build-image:0.24.0
name: Build
trigger:
event:
- pull_request
type: docker
---
kind: pipeline
name: Build agent (Linux armv7)
platform:
arch: amd64
os: linux
steps:
- commands:
- make generate-ui
- GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=arm GOARM=7
make agent
image: grafana/agent-build-image:0.24.0
name: Build
trigger:
event:
- pull_request
type: docker
---
kind: pipeline
name: Build agent (Linux ppc64le)
platform:
arch: amd64
Expand Down Expand Up @@ -503,6 +537,40 @@ trigger:
type: docker
---
kind: pipeline
name: Build agent-flow (Linux armv6)
platform:
arch: amd64
os: linux
steps:
- commands:
- make generate-ui
- GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=arm GOARM=6
make agent-flow
image: grafana/agent-build-image:0.24.0
name: Build
trigger:
event:
- pull_request
type: docker
---
kind: pipeline
name: Build agent-flow (Linux armv7)
platform:
arch: amd64
os: linux
steps:
- commands:
- make generate-ui
- GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=arm GOARM=7
make agent-flow
image: grafana/agent-build-image:0.24.0
name: Build
trigger:
event:
- pull_request
type: docker
---
kind: pipeline
name: Build agent-flow (Linux ppc64le)
platform:
arch: amd64
Expand Down Expand Up @@ -635,6 +703,40 @@ trigger:
type: docker
---
kind: pipeline
name: Build agentctl (Linux armv6)
platform:
arch: amd64
os: linux
steps:
- commands:
- make generate-ui
- GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=arm GOARM=6
make agentctl
image: grafana/agent-build-image:0.24.0
name: Build
trigger:
event:
- pull_request
type: docker
---
kind: pipeline
name: Build agentctl (Linux armv7)
platform:
arch: amd64
os: linux
steps:
- commands:
- make generate-ui
- GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=arm GOARM=7
make agentctl
image: grafana/agent-build-image:0.24.0
name: Build
trigger:
event:
- pull_request
type: docker
---
kind: pipeline
name: Build agentctl (Linux ppc64le)
platform:
arch: amd64
Expand Down Expand Up @@ -767,6 +869,40 @@ trigger:
type: docker
---
kind: pipeline
name: Build operator (Linux armv6)
platform:
arch: amd64
os: linux
steps:
- commands:
- make generate-ui
- GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=arm GOARM=6
make operator
image: grafana/agent-build-image:0.24.0
name: Build
trigger:
event:
- pull_request
type: docker
---
kind: pipeline
name: Build operator (Linux armv7)
platform:
arch: amd64
os: linux
steps:
- commands:
- make generate-ui
- GO_TAGS="builtinassets promtail_journal_enabled" GOOS=linux GOARCH=arm GOARM=7
make operator
image: grafana/agent-build-image:0.24.0
name: Build
trigger:
event:
- pull_request
type: docker
---
kind: pipeline
name: Build operator (Linux ppc64le)
platform:
arch: amd64
Expand Down Expand Up @@ -1312,6 +1448,6 @@ kind: secret
name: gpg_passphrase
---
kind: signature
hmac: 87903c0d6a95eeeceadf071d21a18984c8daf1b02f39feaf1fe51ca5aba1349b
hmac: 2d20585a6504daf96ca62e5b719192332893313f37c78919a716d6fd9792642d

...
2 changes: 2 additions & 0 deletions .drone/pipelines/crosscompile.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ local os_arch_tuples = [
// Linux
{ name: 'Linux amd64', os: 'linux', arch: 'amd64' },
{ name: 'Linux arm64', os: 'linux', arch: 'arm64' },
{ name: 'Linux armv6', os: 'linux', arch: 'arm', arm: '6' },
{ name: 'Linux armv7', os: 'linux', arch: 'arm', arm: '7' },
{ name: 'Linux ppc64le', os: 'linux', arch: 'ppc64le' },
{ name: 'Linux s390x', os: 'linux', arch: 's390x' },

Expand Down
8 changes: 3 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@ Main (unreleased)

### Breaking changes

- Support for 32-bit ARM builds is removed for the foreseeable future due to Go
compiler issues. We will consider bringing back 32-bit ARM support once our Go
compiler issues are resolved and 32-bit ARM builds are stable. (@rfratto)

- Agent Management: `agent_management.api_url` config field has been replaced by
`agent_management.host`. The API path and version is now defined by the Agent. (@jcreixell)

Expand Down Expand Up @@ -49,7 +45,7 @@ Main (unreleased)
- `loki.source.azure_event_hubs` reads messages from Azure Event Hub using Kafka and forwards them to other `loki`
components. (@akselleirv)
- `discovery.gce` discovers resources on Google Compute Engine (GCE). (@marctc)


- Add support for Flow-specific system packages:

Expand Down Expand Up @@ -118,6 +114,8 @@ Main (unreleased)

- Use Go 1.20.3 for builds. (@rfratto)

- Bring back the Flow UI for 32-bit ARMv6 builds. (@rfratto)

- Change the Docker base image for Linux containers to `ubuntu:kinetic`.
(@rfratto)

Expand Down
2 changes: 1 addition & 1 deletion docs/sources/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ The Grafana Agent is also capable of exporting to any OpenTelemetry GRPC compati

* Linux
* Minimum version: kernel 2.6.32 or later
* Architectures: AMD64, ARM64
* Architectures: AMD64, ARM64, ARMv6, ARMv7
* Windows
* Minimum version: Windows Server 2012 or later, or Windows 10 or later.
* Architectures: AMD64
Expand Down
2 changes: 1 addition & 1 deletion docs/sources/set-up/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ The following architectures receive active support.

- macOS: Intel Mac or Apple Silicon
- Windows: A x64 machine
- Linux: AMD64 or ARM64 machines
- Linux: AMD64, ARM64, ARMv6, or ARMv7 machines
- FreeBSD: A AMD64 machine

In addition, best-effort support is provided for Linux: ppc64le.
Expand Down
2 changes: 1 addition & 1 deletion tools/ci/docker-containers
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ fi

# Build all of our images.

export BUILD_PLATFORMS=linux/amd64,linux/arm64,linux/ppc64le,linux/s390x
export BUILD_PLATFORMS=linux/amd64,linux/arm64,linux/arm/v7,linux/ppc64le,linux/s390x


case "$TARGET_CONTAINER" in
Expand Down
70 changes: 70 additions & 0 deletions tools/make/packaging.mk
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ PACKAGING_VARS = RELEASE_BUILD=1 GO_TAGS="$(GO_TAGS)" GOOS=$(GOOS) GOARCH=$(GOAR

dist-agent-binaries: dist/grafana-agent-linux-amd64 \
dist/grafana-agent-linux-arm64 \
dist/grafana-agent-linux-armv6 \
dist/grafana-agent-linux-armv7 \
dist/grafana-agent-linux-ppc64le \
dist/grafana-agent-linux-s390x \
dist/grafana-agent-darwin-amd64 \
Expand Down Expand Up @@ -65,6 +67,20 @@ dist/grafana-agent-darwin-arm64: GOARCH := arm64
dist/grafana-agent-darwin-arm64: generate-ui
$(PACKAGING_VARS) AGENT_BINARY=$@ $(MAKE) -f $(PARENT_MAKEFILE) agent

dist/grafana-agent-linux-armv6: GO_TAGS += builtinassets promtail_journal_enabled
dist/grafana-agent-linux-armv6: GOOS := linux
dist/grafana-agent-linux-armv6: GOARCH := arm
dist/grafana-agent-linux-armv6: GOARM := 6
dist/grafana-agent-linux-armv6: generate-ui
$(PACKAGING_VARS) AGENT_BINARY=$@ $(MAKE) -f $(PARENT_MAKEFILE) agent

dist/grafana-agent-linux-armv7: GO_TAGS += builtinassets promtail_journal_enabled
dist/grafana-agent-linux-armv7: GOOS := linux
dist/grafana-agent-linux-armv7: GOARCH := arm
dist/grafana-agent-linux-armv7: GOARM := 7
dist/grafana-agent-linux-armv7: generate-ui
$(PACKAGING_VARS) AGENT_BINARY=$@ $(MAKE) -f $(PARENT_MAKEFILE) agent

dist/grafana-agent-windows-amd64.exe: GO_TAGS += builtinassets
dist/grafana-agent-windows-amd64.exe: GOOS := windows
dist/grafana-agent-windows-amd64.exe: GOARCH := amd64
Expand All @@ -83,6 +99,8 @@ dist/grafana-agent-freebsd-amd64: generate-ui

dist-agentctl-binaries: dist/grafana-agentctl-linux-amd64 \
dist/grafana-agentctl-linux-arm64 \
dist/grafana-agentctl-linux-armv6 \
dist/grafana-agentctl-linux-armv7 \
dist/grafana-agentctl-linux-ppc64le \
dist/grafana-agentctl-linux-s390x \
dist/grafana-agentctl-darwin-amd64 \
Expand All @@ -100,6 +118,18 @@ dist/grafana-agentctl-linux-arm64: GOARCH := arm64
dist/grafana-agentctl-linux-arm64:
$(PACKAGING_VARS) AGENTCTL_BINARY=$@ $(MAKE) -f $(PARENT_MAKEFILE) agentctl

dist/grafana-agentctl-linux-armv6: GOOS := linux
dist/grafana-agentctl-linux-armv6: GOARCH := arm
dist/grafana-agentctl-linux-armv6: GOARM := 6
dist/grafana-agentctl-linux-armv6:
$(PACKAGING_VARS) AGENTCTL_BINARY=$@ $(MAKE) -f $(PARENT_MAKEFILE) agentctl

dist/grafana-agentctl-linux-armv7: GOOS := linux
dist/grafana-agentctl-linux-armv7: GOARCH := arm
dist/grafana-agentctl-linux-armv7: GOARM := 7
dist/grafana-agentctl-linux-armv7:
$(PACKAGING_VARS) AGENTCTL_BINARY=$@ $(MAKE) -f $(PARENT_MAKEFILE) agentctl

dist/grafana-agentctl-linux-ppc64le: GOOS := linux
dist/grafana-agentctl-linux-ppc64le: GOARCH := ppc64le
dist/grafana-agentctl-linux-ppc64le:
Expand Down Expand Up @@ -231,6 +261,8 @@ AGENT_PACKAGE_PREFIX := dist/grafana-agent-$(AGENT_PACKAGE_VERSION)-$(AGENT_PAC
.PHONY: dist-agent-packages
dist-agent-packages: dist-agent-packages-amd64 \
dist-agent-packages-arm64 \
dist-agent-packages-armv6 \
dist-agent-packages-armv7 \
dist-agent-packages-ppc64le \
dist-agent-packages-s390x

Expand All @@ -252,6 +284,24 @@ else
$(call generate_agent_fpm,rpm,aarch64,arm64,$(AGENT_PACKAGE_PREFIX).arm64.rpm)
endif

# There's no RPM support for armv6 so only DEBs are produced.
.PHONY: dist-agent-packages-armv6
dist-agent-packages-armv6: dist/grafana-agent-linux-armv6 dist/grafana-agentctl-linux-armv6
ifeq ($(USE_CONTAINER),1)
$(RERUN_IN_CONTAINER)
else
$(call generate_agent_fpm,deb,armhf,armv6,$(AGENT_PACKAGE_PREFIX).armv6.deb)
endif

PHONY: dist-agent-packages-armv7
dist-agent-packages-armv7: dist/grafana-agent-linux-armv7 dist/grafana-agentctl-linux-armv7
ifeq ($(USE_CONTAINER),1)
$(RERUN_IN_CONTAINER)
else
$(call generate_agent_fpm,deb,armhf,armv7,$(PACKAGE_PREFIX).armv7.deb)
$(call generate_agent_fpm,rpm,armhfp,armv7,$(PACKAGE_PREFIX).armv7.rpm)
endif

.PHONY: dist-agent-packages-ppc64le
dist-agent-packages-ppc64le: dist/grafana-agent-linux-ppc64le dist/grafana-agentctl-linux-ppc64le
ifeq ($(USE_CONTAINER),1)
Expand Down Expand Up @@ -305,6 +355,8 @@ FLOW_PACKAGE_PREFIX := dist/grafana-agent-flow-$(AGENT_PACKAGE_VERSION)-$(AGENT
.PHONY: dist-agent-flow-packages
dist-agent-flow-packages: dist-agent-flow-packages-amd64 \
dist-agent-flow-packages-arm64 \
dist-agent-flow-packages-armv6 \
dist-agent-flow-packages-armv7 \
dist-agent-flow-packages-ppc64le \
dist-agent-flow-packages-s390x

Expand All @@ -326,6 +378,24 @@ else
$(call generate_flow_fpm,rpm,aarch64,arm64,$(FLOW_PACKAGE_PREFIX).arm64.rpm)
endif

# There's no RPM support for armv6 so only DEBs are produced.
.PHONY: dist-agent-flow-packages-armv6
dist-agent-flow-packages-armv6: dist.temp/grafana-agent-flow-linux-armv6
ifeq ($(USE_CONTAINER),1)
$(RERUN_IN_CONTAINER)
else
$(call generate_flow_fpm,deb,armhf,armv6,$(AGENT_PACKAGE_PREFIX).armv6.deb)
endif

PHONY: dist-agent-packages-armv7
dist-agent-packages-armv7: dist.temp/grafana-agent-flow-linux-armv7
ifeq ($(USE_CONTAINER),1)
$(RERUN_IN_CONTAINER)
else
$(call generate_flow_fpm,deb,armhf,armv7,$(PACKAGE_PREFIX).armv7.deb)
$(call generate_flow_fpm,rpm,armhfp,armv7,$(PACKAGE_PREFIX).armv7.rpm)
endif

.PHONY: dist-agent-flow-packages-ppc64le
dist-agent-flow-packages-ppc64le: dist.temp/grafana-agent-flow-linux-ppc64le
ifeq ($(USE_CONTAINER),1)
Expand Down
Loading