From 7f0c3a416245843ed09cacfe6f15c3b8f7cbaab1 Mon Sep 17 00:00:00 2001 From: Alex Chernyakhovsky Date: Mon, 11 Jul 2022 20:36:25 -0400 Subject: Add macOS release steps to Github Actions This change ports the Travis CI release workflow for macOS to Github Actions. Note that while this is functionally identical to the previous Travis CI flow, no work has been done to update the macOS build scripts to build for arm64. --- .github/workflows/release.yml | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e9e56e2..0aa23e5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,12 +13,11 @@ jobs: strategy: matrix: - os: [ubuntu-20.04] + os: [ubuntu-20.04, macos-latest] steps: - uses: actions/checkout@v2 - - name: "ensure version bumped" run: | expected_tag=$(echo ${{ github.ref }} | cut -d'/' -f3) @@ -34,17 +33,42 @@ jobs: if: ${{ startsWith(matrix.os, 'macos') }} run: brew install protobuf automake + - name: "describe macos build environment" + if: ${{ startsWith(matrix.os, 'macos') }} + run: | + BUILD_TAG=$(echo ${{ github.ref }} | cut -d'/' -f3) + mkdir macosx/build-report && + pushd macosx/build-report && + ../brew-deps.sh describe && + ../osx-xcode.sh describe && + tar -cjf "../${BUILD_TAG}-osx-build-report.tbz" . && + popd + - name: "generate build scripts" run: ./autogen.sh - name: "configure" + if: ${{ startsWith(matrix.os, 'ubuntu') }} run: ./configure --enable-compile-warnings=error --enable-examples - name: "build" + if: ${{ startsWith(matrix.os, 'ubuntu') }} run: make V=1 - name: "test" + if: ${{ startsWith(matrix.os, 'ubuntu') }} run: make V=1 distcheck -j + + - name: "unshallow git repository for git describe" + if: ${{ startsWith(matrix.os, 'macos') }} + run: git fetch --tags --unshallow + + - name: "macOS package build" + if: ${{ startsWith(matrix.os, 'macos') }} + run: | + pushd macosx && + env ZERO_AR_DATE=1 MACOSX_DEPLOYMENT_TARGET=10.12 ./build.sh && + popd - name: "Upload Release" # v1 aka v0.1.14 as of 2022-07-05; pinned to avoid potential code injection @@ -57,3 +81,6 @@ jobs: generate_release_notes: True files: | mosh-*.tar.gz + macosx/*.pkg + macosx/*-osx-build-report.tbz + -- cgit v1.2.3