Skip to content

build: Generate version_describe.h before build #21

build: Generate version_describe.h before build

build: Generate version_describe.h before build #21

Workflow file for this run

name: macOS
# Run branch pushes only on master; pull requests continue to run against all
# branches.
on:
push:
branches:
- master
tags:
- '**'
pull_request:
# Keep the long-running stress test on master unless a PR opts in with a
# force_testcore or force_long_tests label. Labels are read from the event
# payload, so a newly added label takes effect on the next push or reopen.
env:
TESTCORE_CONFIGURE_FLAG: >-
${{ (github.ref == 'refs/heads/master' ||
contains(github.event.pull_request.labels.*.name, 'force_testcore') ||
contains(github.event.pull_request.labels.*.name, 'force_long_tests'))
&& '--enable-testcore' || '' }}
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
# A workflow run is made up of one or more jobs that can run
# sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
runs-on: macos-latest
timeout-minutes: 60
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job
# can access it. Full history + tags are needed by
# build-aux/gen-describe.sh.
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: setup prerequisites
shell: bash
run: |
brew update
brew install autoconf automake libtool m4 doxygen
- name: bootstrap
shell: bash
run: ./bootstrap.sh
- name: compile
shell: bash
run: .private/ci-build.sh --build-dir build --build-docs
- name: Xcode
shell: bash
run: cd Xcode && xcodebuild -project libusb.xcodeproj
# The autotools test driver buffers each test's output into its own
# tests/<test>.log; keep them (and config.log) when something goes wrong.
- name: Upload test logs
uses: actions/upload-artifact@v7
if: failure() || cancelled()
with:
name: test-logs-macos
path: |
build*/config.log
build*/tests/*.log
if-no-files-found: ignore