Branch Build (1.376) - main #376
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: Build | |
run-name: "Branch Build (${{ github.run_attempt }}.${{ github.run_number }}) - ${{ github.ref_name }}" | |
on: | |
workflow_dispatch: | |
inputs: | |
amalgam-lang-py-build: | |
description: | | |
(Optional) amalgam-lang-py build or version number. Defaults to pinned release. | |
Examples: | |
'6807310618', | |
'https://github.com/howsoai/amalgam-lang-py/actions/runs/6807310618', | |
'4.0.1' | |
required: false | |
type: string | |
howso-engine-py-build: | |
description: | | |
(Optional) howso-engine-py build or version number. Defaults to pinned release. | |
required: false | |
type: string | |
debug-mode: | |
description: Enables GDB and Amalgam Fast Memory Integrity checks for all Linux/x86 Pytest jobs. | |
type: boolean | |
required: false | |
default: false | |
workflow_call: | |
inputs: | |
build-type: | |
required: false | |
type: string | |
optional-release-tag: | |
required: false | |
type: string | |
debug-mode: | |
type: boolean | |
required: false | |
default: false | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
metadata: | |
uses: howsoai/.github/.github/workflows/set-metadata.yml@main | |
secrets: inherit | |
with: | |
build-type: ${{ inputs.build-type }} | |
optional-release-tag: ${{ inputs.optional-release-tag }} | |
amalgam-lang-py-build: ${{ inputs.amalgam-lang-py-build }} | |
howso-engine-py-build: ${{ inputs.howso-engine-py-build }} | |
build: | |
needs: ["metadata"] | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Install pypa/build | |
run: >- | |
python3 -m | |
pip install | |
build | |
--user | |
- name: Build a binary wheel and a source tarball | |
run: >- | |
python3 -m | |
build | |
--sdist | |
--wheel | |
--outdir dist/ | |
. | |
env: | |
SETUPTOOLS_SCM_PRETEND_VERSION: ${{ needs.metadata.outputs.version }} | |
- name: Upload Tarball Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "howso_engine_rl_recipes-${{ needs.metadata.outputs.version }}" | |
path: "dist/howso_engine_rl_recipes-${{ needs.metadata.outputs.version }}.tar.gz" | |
if-no-files-found: error | |
- name: Upload Wheel Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "howso_engine_rl_recipes-${{ needs.metadata.outputs.version }}-py3-none-any" | |
path: "dist/howso_engine_rl_recipes-${{ needs.metadata.outputs.version }}-py3-none-any.whl" | |
if-no-files-found: error | |
workflow-summary: | |
needs: ['metadata'] | |
uses: "howsoai/.github/.github/workflows/workflow-summary.yml@main" | |
secrets: inherit | |
with: | |
upstream-details: ${{ needs.metadata.outputs.upstream-details }} | |
pytest-linux-3-9-st: | |
# Only run on branch builds | |
if: inputs.build-type == '' | |
needs: ['metadata', 'build'] | |
uses: howsoai/.github/.github/workflows/pytest.yml@main | |
secrets: inherit | |
with: | |
platform: 'ubuntu-latest' | |
platform-pretty: 'Linux' | |
amalgam-plat-arch: 'linux-amd64' | |
python-version: '3.9' | |
config-fp: './config/latest-st-traces-howso.yml' | |
config-pretty: 'ST' | |
workers: 'auto' | |
upstream-details: ${{ needs.metadata.outputs.upstream-details }} | |
debug: ${{ inputs.debug-mode }} | |
pytest-linux-3-12-mt: | |
# Only run on branch builds | |
if: inputs.build-type == '' | |
needs: ['metadata', 'build'] | |
uses: howsoai/.github/.github/workflows/pytest.yml@main | |
secrets: inherit | |
with: | |
platform: 'ubuntu-latest' | |
platform-pretty: 'Linux' | |
amalgam-plat-arch: 'linux-amd64' | |
python-version: '3.12' | |
config-fp: './config/latest-mt-traces-howso.yml' | |
config-pretty: 'MT' | |
upstream-details: ${{ needs.metadata.outputs.upstream-details }} | |
debug: ${{ inputs.debug-mode }} | |
pytest-windows-3-12-mt: | |
# Only run on branch builds | |
if: inputs.build-type == '' | |
needs: ['metadata', 'build'] | |
uses: howsoai/.github/.github/workflows/pytest.yml@main | |
secrets: inherit | |
with: | |
platform: 'windows-latest' | |
platform-pretty: 'Windows' | |
amalgam-plat-arch: 'windows-amd64' | |
python-version: '3.12' | |
config-fp: './config/latest-mt-traces-howso.yml' | |
config-pretty: 'MT' | |
upstream-details: ${{ needs.metadata.outputs.upstream-details }} | |
debug: ${{ inputs.debug-mode }} | |
pytest-macos-3-12-mt: | |
# Only run on branch builds | |
if: inputs.build-type == '' | |
needs: ['metadata', 'build'] | |
uses: howsoai/.github/.github/workflows/pytest.yml@main | |
secrets: inherit | |
with: | |
platform: 'macos-latest-xlarge' | |
platform-pretty: 'MacOS' | |
amalgam-plat-arch: 'darwin-arm64' | |
python-version: '3.12' | |
config-fp: './config/latest-mt-traces-howso.yml' | |
config-pretty: 'MT' | |
upstream-details: ${{ needs.metadata.outputs.upstream-details }} | |
debug: ${{ inputs.debug-mode }} | |
release: | |
needs: [ 'metadata', 'build' ] | |
if: inputs.build-type == 'release' | |
permissions: | |
contents: write | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download Artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
path: ./tmp | |
- name: Create Release | |
uses: ncipollo/release-action@v1 | |
with: | |
tag: ${{ needs.metadata.outputs.version }} | |
commit: ${{ github.sha }} | |
name: "${{ github.event.repository.name }} ${{ needs.metadata.outputs.version }}" | |
artifactErrorsFailBuild: true | |
generateReleaseNotes: true | |
makeLatest: legacy | |
artifacts: "./tmp/howso_engine_rl_recipes-*/howso_engine_rl_recipes-*.tar.gz,./tmp/howso_engine_rl_recipes-*/howso_engine_rl_recipes-*.whl" | |
artifactContentType: application/gzip |