Skip to content

Branch Build (1.317) - main #317

Branch Build (1.317) - main

Branch Build (1.317) - main #317

Workflow file for this run

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