Skip to content

[ci] Update MSBuild.yml GitHub Action setup-msbuild to v3 (#1147) #1406

[ci] Update MSBuild.yml GitHub Action setup-msbuild to v3 (#1147)

[ci] Update MSBuild.yml GitHub Action setup-msbuild to v3 (#1147) #1406

Workflow file for this run

name: autotools build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
# GitHub CI Actions-specific environment variables:
# Location for user-local `make install`
PORTAUDIO_INSTALL_DIR: ${HOME}/.local
# Environment variables for compiling and running the test program.
# Usually none of this is needed as `make install` would install to system locations
# where include and library search paths are already set up to just work.
# gcc environment variables. see https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html
C_INCLUDE_PATH: ${HOME}/.local/include
LIBRARY_PATH: ${HOME}/.local/lib
# runtime dynamically linked library search path. see https://stackoverflow.com/questions/480764
LD_LIBRARY_PATH: ${HOME}/.local/lib
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- name: Ubuntu GCC
os: ubuntu-latest
- name: Ubuntu MinGW
os: ubuntu-latest
asio_sdk_cache_path: asiosdk.zip
dependencies_extras: mingw-w64
vcpkg_triplet: x64-mingw-static
# Use autotools_msys2.yml for Windows MinGW due to siginificant differences
# - name: Windows MinGW
# os: windows-latest
# vcpkg_triplet: x64-mingw-static
- name: macOS Clang
os: macOS-latest
vcpkg_triplet: arm64-osx
runs-on: ${{ matrix.os }}
name: ${{ matrix.name }}
defaults:
run:
shell: bash
steps:
- name: checkout PortAudio git repo
uses: actions/checkout@v6
- name: setup vcpkg
uses: lukka/run-vcpkg@v11
if: ${{ matrix.vcpkg_triplet }} != null

Check warning on line 56 in .github/workflows/autotools.yml

View workflow run for this annotation

GitHub Actions / autotools build

Workflow syntax warning

.github/workflows/autotools.yml (Line: 56, Col: 11): Conditional expression contains literal text outside replacement tokens. This will cause the expression to always evaluate to truthy. Did you mean to put the entire expression inside ${{ }}?
with:
vcpkgDirectory: ${{ github.workspace }}/../vcpkg
vcpkgTriplet: ${{ matrix.vcpkg_triplet }}
appendedCacheKey: ${{ hashFiles( '**/vcpkg.json' ) }}
additionalCachedPaths: build/vcpkg_installed
# vcpkg commit: [libxml2] Fix ICU support option, hash: ca9ac0b, date: Dec 1, 2023, https://github.com/microsoft/vcpkg/commits
vcpkgGitCommitId: ca9ac0ba65965937fb66783c4f726c2c755ad9d9
# Required when using vcpkg.json manifest in repository
setupOnly: true
# test configure and build
- name: configure
run: ./configure --prefix=${{ env.PORTAUDIO_INSTALL_DIR }}
- name: make
run: make
# test make install
- name: install
run: make install
- name: list install dirs (post-install)
run: ls ${{ env.PORTAUDIO_INSTALL_DIR }} ${{ env.C_INCLUDE_PATH }} ${{ env.LIBRARY_PATH }} ${{ env.LD_LIBRARY_PATH }}
- name: build patest_init.c (test just calls Pa_Initialize();Pa_Terminate();)
run: |
C_INCLUDE_PATH=${{ env.C_INCLUDE_PATH }}
LIBRARY_PATH=${{ env.LIBRARY_PATH }}
gcc -o patest_init ./test/patest_init.c -lportaudio
- name: run patest_init
run: |
LD_LIBRARY_PATH=${{ env.LD_LIBRARY_PATH }}
./patest_init
# test make uninstall
- name: uninstall
run: make uninstall
- name: list install dirs (post-uninstall)
run: ls ${{ env.PORTAUDIO_INSTALL_DIR }} ${{ env.C_INCLUDE_PATH }} ${{ env.LIBRARY_PATH }} ${{ env.LD_LIBRARY_PATH }}
- name: build patest_init.c to check uninstall (expect failure)
run: |
C_INCLUDE_PATH=${{ env.C_INCLUDE_PATH }}
LIBRARY_PATH=${{ env.LIBRARY_PATH }}
if gcc -o patest_init ./test/patest_init.c -lportaudio; then exit 1; else exit 0; fi