Skip to content

Branch Build (1.5) - main #5

Branch Build (1.5) - main

Branch Build (1.5) - main #5

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
workflow_call:
inputs:
build-type:
required: false
type: string
optional-release-tag:
required: false
type: string
defaults:
run:
shell: bash
jobs:
metadata:
uses: howsoai/.github/.github/workflows/set-metadata.yml@main
secrets: inherit
with:
# Remove unused parameters
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 }}
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-8-st:
if: inputs.build-type != 'PR'
needs: ['metadata']
uses: howsoai/.github/.github/workflows/pytest.yml@main
secrets: inherit
with:
platform: 'howso-ubuntu-runner-latest'
platform-pretty: 'Linux'
amalgam-plat-arch: 'linux-amd64'
python-version: '3.8'
config-fp: './config/latest-st-debug-howso.yml'
config-pretty: 'ST'
workers: 'auto'
upstream-details: ${{ needs.metadata.outputs.upstream-details }}
pytest-linux-3-9-st:
if: inputs.build-type != 'PR'
needs: ['metadata']
uses: howsoai/.github/.github/workflows/pytest.yml@main
secrets: inherit
with:
platform: 'howso-ubuntu-runner-latest'
platform-pretty: 'Linux'
amalgam-plat-arch: 'linux-amd64'
python-version: '3.9'
config-fp: './config/latest-st-debug-howso.yml'
config-pretty: 'ST'
workers: 'auto'
upstream-details: ${{ needs.metadata.outputs.upstream-details }}
pytest-linux-3-10-st:
if: inputs.build-type != 'PR'
needs: ['metadata']
uses: howsoai/.github/.github/workflows/pytest.yml@main
secrets: inherit
with:
platform: 'howso-ubuntu-runner-latest'
platform-pretty: 'Linux'
amalgam-plat-arch: 'linux-amd64'
python-version: '3.10'
config-fp: './config/latest-st-debug-howso.yml'
config-pretty: 'ST'
workers: 'auto'
upstream-details: ${{ needs.metadata.outputs.upstream-details }}
pytest-linux-3-11-mt:
if: inputs.build-type != 'PR'
needs: ['metadata']
uses: howsoai/.github/.github/workflows/pytest.yml@main
secrets: inherit
with:
platform: 'howso-ubuntu-runner-latest'
platform-pretty: 'Linux'
amalgam-plat-arch: 'linux-amd64'
python-version: '3.11'
config-fp: './config/latest-mt-debug-howso.yml'
config-pretty: 'MT'
upstream-details: ${{ needs.metadata.outputs.upstream-details }}
pytest-windows-3-11-mt:
if: inputs.build-type != 'PR'
needs: ['metadata']
uses: howsoai/.github/.github/workflows/pytest.yml@main
secrets: inherit
with:
platform: 'howso-windows-runner-latest'
platform-pretty: 'Windows'
amalgam-plat-arch: 'windows-amd64'
python-version: '3.11'
config-fp: './config/latest-mt-debug-howso.yml'
config-pretty: 'MT'
upstream-details: ${{ needs.metadata.outputs.upstream-details }}
pytest-macos-3-11-mt:
if: inputs.build-type != 'PR'
needs: ['metadata']
uses: howsoai/.github/.github/workflows/pytest.yml@main
secrets: inherit
with:
platform: 'macos-latest-large'
platform-pretty: 'MacOS'
amalgam-plat-arch: 'darwin-arm64'
python-version: '3.11'
config-fp: './config/latest-mt-debug-howso.yml'
config-pretty: 'MT'
upstream-details: ${{ needs.metadata.outputs.upstream-details }}
release:
needs:
- metadata
- pytest-linux-3-8-st
- pytest-linux-3-9-st
- pytest-linux-3-10-st
- pytest-linux-3-11-mt
- pytest-windows-3-11-mt
- pytest-macos-3-11-mt
if: inputs.build-type == 'release'
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- 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