From c80e46445e3e1726dda9e9fc0c34e255f2ff908e Mon Sep 17 00:00:00 2001 From: Damien Mathieu <42@dmathieu.com> Date: Tue, 9 Jul 2024 09:54:50 +0200 Subject: [PATCH] Run macOS tests on both AMD and ARM architectures (#5868) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As we've done in the SDK. https://github.com/open-telemetry/opentelemetry-go/pull/5577 Closes #5865 --------- Co-authored-by: Robert PajÄ…k --- .github/workflows/ci.yml | 27 +++++++++++++++------------ CHANGELOG.md | 1 + README.md | 26 ++++++++++++++------------ 3 files changed, 30 insertions(+), 24 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 02e72d7872f..78ad1bdb370 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -102,17 +102,20 @@ jobs: strategy: matrix: go-version: ["~1.22.4", "~1.21.12"] - os: [ubuntu-latest, macos-latest, windows-latest] - # GitHub Actions does not support arm* architectures on default - # runners. It is possible to accomplish this with a self-hosted runner - # if we want to add this in the future: - # https://docs.github.com/en/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow - arch: ["386", amd64] - exclude: - # Not a supported Go OS/architecture. - - os: macos-latest - arch: "386" - runs-on: ${{ matrix.os }} + platform: + - os: ubuntu-latest + arch: "386" + - os: ubuntu-latest + arch: amd64 + - os: macos-13 + arch: amd64 + - os: macos-latest + arch: arm64 + - os: windows-latest + arch: "386" + - os: windows-latest + arch: amd64 + runs-on: ${{ matrix.platform.os }} steps: - name: Checkout code uses: actions/checkout@v4 @@ -124,7 +127,7 @@ jobs: cache-dependency-path: "**/go.sum" - name: Run tests env: - GOARCH: ${{ matrix.arch }} + GOARCH: ${{ matrix.platform.arch }} run: make test-short test-compatibility: diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c55cda3fcf..72586b33d09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm - Add the new `go.opentelemetry.io/contrib/instrgen` package to provide auto-generated source code instrumentation. (#3068, #3108) - Support for stdoutlog exporter in `go.opentelemetry.io/contrib/config`. (#5850) +- Add macOS ARM64 platform to the compatibility testing suite. (#5868) ### Removed diff --git a/README.md b/README.md index 913696a4041..704e782d322 100644 --- a/README.md +++ b/README.md @@ -48,18 +48,20 @@ stop ensuring compatibility with these versions in the following manner: This project is tested on the following systems. -| OS | Go Version | Architecture | -| ------- | ---------- | ------------ | -| Ubuntu | 1.22 | amd64 | -| Ubuntu | 1.21 | amd64 | -| Ubuntu | 1.22 | 386 | -| Ubuntu | 1.21 | 386 | -| MacOS | 1.22 | amd64 | -| MacOS | 1.21 | amd64 | -| Windows | 1.22 | amd64 | -| Windows | 1.21 | amd64 | -| Windows | 1.22 | 386 | -| Windows | 1.21 | 386 | +| OS | Go Version | Architecture | +| -------- | ---------- | ------------ | +| Ubuntu | 1.22 | amd64 | +| Ubuntu | 1.21 | amd64 | +| Ubuntu | 1.22 | 386 | +| Ubuntu | 1.21 | 386 | +| macOS 13 | 1.22 | amd64 | +| macOS 13 | 1.21 | amd64 | +| macOS | 1.22 | arm64 | +| macOS | 1.21 | arm64 | +| Windows | 1.22 | amd64 | +| Windows | 1.21 | amd64 | +| Windows | 1.22 | 386 | +| Windows | 1.21 | 386 | While this project should work for other systems, no compatibility guarantees are made for those systems currently.