Docfix: Using PC backends #114
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test GitHub (GH) backend | |
on: | |
push: | |
branches: | |
- main | |
- v* | |
- feature-* | |
tags: | |
- v* | |
# ... or trigger manually from GitHub web interface | |
workflow_dispatch: | |
jobs: | |
setup: | |
strategy: | |
fail-fast: false # until finished testing darwin_arm64 | |
matrix: | |
include: | |
- gh_os: windows-2019 | |
abi_pattern: win32-windows_x86 | |
dkml_host_abi: windows_x86 | |
- gh_os: windows-2019 | |
abi_pattern: win32-windows_x86_64 | |
dkml_host_abi: windows_x86_64 | |
- gh_os: ubuntu-latest | |
abi_pattern: manylinux2014-linux_x86 | |
dkml_host_abi: linux_x86 | |
- gh_os: ubuntu-latest | |
abi_pattern: manylinux2014-linux_x86_64 | |
dkml_host_abi: linux_x86_64 | |
- gh_os: macos-latest # Intel | |
abi_pattern: macos-darwin_all-intel | |
dkml_host_abi: darwin_x86_64 | |
# macos-13-xlarge is NOT FREE even for Public projects as of 2023-11-25. | |
# - gh_os: macos-13-xlarge # Apple Silicon. https://github.blog/2023-10-02-introducing-the-new-apple-silicon-powered-m1-macos-larger-runner-for-github-actions/ | |
# abi_pattern: macos-darwin_all-silicon | |
# dkml_host_abi: darwin_arm64 | |
runs-on: ${{ matrix.gh_os }} | |
name: build / ${{ matrix.abi_pattern }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
# The Setup DkML action will create the environment variables: | |
# opam_root, exe_ext, dkml_host_abi, abi_pattern (and many more) | |
- name: Setup DkML on a Windows host | |
if: startsWith(matrix.dkml_host_abi, 'windows_') | |
uses: ./test/gh-windows/pre | |
- name: Setup DkML on a Darwin host | |
if: startsWith(matrix.dkml_host_abi, 'darwin_') | |
uses: ./test/gh-darwin/pre | |
- name: Setup DkML on a Linux host | |
if: startsWith(matrix.dkml_host_abi, 'linux_') | |
uses: ./test/gh-linux/pre | |
# This is the spot for custom build logic | |
# The Teardown DkML action will finalize caching, etc. | |
- name: Teardown DkML on a Windows host | |
if: startsWith(matrix.dkml_host_abi, 'windows_') | |
uses: ./test/gh-windows/post | |
- name: Teardown DkML on a Darwin host | |
if: startsWith(matrix.dkml_host_abi, 'darwin_') | |
uses: ./test/gh-darwin/post | |
- name: Teardown DkML on a Linux host | |
if: startsWith(matrix.dkml_host_abi, 'linux_') | |
uses: ./test/gh-linux/post |