Skip to content

Commit b6e5718

Browse files
author
howso-automation
committed
Initial commit
0 parents  commit b6e5718

File tree

83 files changed

+35443
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+35443
-0
lines changed

.github/CODEOWNERS

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
##########################################
2+
# code ownership
3+
##########################################
4+
5+
# default ownership: default owners for everything in the repo (Unless a later match takes precedence)
6+
* @howsoai/devs
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Reusable WF - Build
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
version:
7+
required: true
8+
type: string
9+
10+
defaults:
11+
run:
12+
shell: bash
13+
14+
jobs:
15+
16+
build:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- run: echo 'Done'
+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Create Branch Build
2+
run-name: "Branch Build (${{ github.run_attempt }}.${{ github.run_number }}) - ${{ github.ref_name }}"
3+
4+
on:
5+
workflow_dispatch:
6+
7+
defaults:
8+
run:
9+
shell: bash
10+
11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.ref }}
13+
cancel-in-progress: true
14+
15+
jobs:
16+
17+
set-branch-version:
18+
runs-on: ubuntu-latest
19+
outputs:
20+
version: ${{ steps.set-branch-version.outputs.version }}
21+
steps:
22+
23+
- uses: actions/checkout@v3
24+
with:
25+
fetch-depth: 0
26+
27+
- name: Get previous git tag
28+
id: previous-tag
29+
uses: WyriHaximus/github-action-get-previous-tag@v1
30+
with:
31+
fallback: 0.0.0
32+
33+
- name: Get next semver from previous tag
34+
id: next-semvers
35+
uses: WyriHaximus/github-action-next-semvers@v1
36+
with:
37+
version: ${{ steps.previous-tag.outputs.tag }}
38+
39+
- name: Set Branch version
40+
id: set-branch-version
41+
run: |
42+
BRANCH_ITERATION=${{ github.run_attempt }}.${{ github.run_number }}
43+
echo "version=$(echo ${{ steps.next-semvers.outputs.patch }}-alpha+BR.${{ github.ref_name }}.${BRANCH_ITERATION})" >> $GITHUB_OUTPUT
44+
45+
build-test-package:
46+
needs: ['set-branch-version']
47+
uses: "./.github/workflows/build-test-package.yml"
48+
secrets: inherit
49+
with:
50+
version: ${{ needs.set-branch-version.outputs.version }}
51+
52+
# This job is here to have only one final step to add for "Status Checks"
53+
# in GitHub, instead of adding every leaf test from 'build-test-package'
54+
final-check:
55+
needs: ['build-test-package']
56+
if: always() && (contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled'))
57+
runs-on: ubuntu-latest
58+
steps:
59+
- run: exit 1

.github/workflows/create-pr-build.yml

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Create PR Build
2+
run-name: "PR Build: #${{ github.event.pull_request.number }} (${{ github.run_attempt }}.${{ github.run_number }}) - ${{ github.event.pull_request.title }}"
3+
4+
on:
5+
pull_request:
6+
branches:
7+
- 'main'
8+
- 'master'
9+
10+
defaults:
11+
run:
12+
shell: bash
13+
14+
concurrency:
15+
group: ${{ github.workflow }}-${{ github.ref }}
16+
cancel-in-progress: true
17+
18+
jobs:
19+
20+
set-pr-version:
21+
runs-on: ubuntu-latest
22+
outputs:
23+
version: ${{ steps.set-pr-version.outputs.version }}
24+
steps:
25+
26+
- uses: actions/checkout@v3
27+
with:
28+
fetch-depth: 0
29+
30+
- name: Get previous git tag
31+
id: previous-tag
32+
uses: WyriHaximus/github-action-get-previous-tag@v1
33+
with:
34+
fallback: 0.0.0
35+
36+
- name: Get next semver from previous tag
37+
id: next-semvers
38+
uses: WyriHaximus/github-action-next-semvers@v1
39+
with:
40+
version: ${{ steps.previous-tag.outputs.tag }}
41+
42+
- name: Set PR version
43+
id: set-pr-version
44+
run: |
45+
PR_NUMBER=${{ github.event.pull_request.number }}
46+
PR_ITERATION=${{ github.run_attempt }}.${{ github.run_number }}
47+
echo "version=$(echo ${{ steps.next-semvers.outputs.patch }}-alpha+PR.${PR_NUMBER}.${PR_ITERATION})" >> $GITHUB_OUTPUT
48+
49+
build-test-package:
50+
needs: ['set-pr-version']
51+
uses: "./.github/workflows/build-test-package.yml"
52+
secrets: inherit
53+
with:
54+
version: ${{ needs.set-pr-version.outputs.version }}
55+
56+
# This job is here to have only one final step to add for "Status Checks"
57+
# in GitHub, instead of adding every leaf test from 'build-test-package'
58+
final-check:
59+
needs: ['build-test-package']
60+
if: always() && (contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled'))
61+
runs-on: ubuntu-latest
62+
steps:
63+
- run: exit 1
+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Create Release Build
2+
run-name: "Release Build: ${{ inputs.new-tag }}"
3+
4+
on:
5+
workflow_dispatch:
6+
inputs:
7+
new-tag:
8+
description: "New release tag"
9+
required: true
10+
11+
defaults:
12+
run:
13+
shell: bash
14+
15+
concurrency:
16+
group: ${{ github.workflow }}-${{ github.ref }}
17+
cancel-in-progress: true
18+
19+
jobs:
20+
21+
verify-release-tag:
22+
runs-on: ubuntu-latest
23+
steps:
24+
25+
- uses: actions/checkout@v3
26+
with:
27+
fetch-depth: 0
28+
29+
- name: Verify release tag
30+
run: |
31+
echo "Release tag to verify: ${{ inputs.new-tag }}"
32+
33+
# Check if tag already exists:
34+
if git rev-parse ${{ inputs.new-tag }} >/dev/null 2>&1; then
35+
echo "❌ - Release tag already exists: ${{ inputs.new-tag }}"
36+
exit 1
37+
fi
38+
echo "✔ - Release tag does not exist"
39+
40+
# Check if tag correct format:
41+
regex='^([0-9]+\.){2}(\*|[0-9]+)(-.*)?$'
42+
if [[ ! ${{ inputs.new-tag }} =~ $regex ]]; then
43+
echo "❌ - Release tag is not a valid semver: ${{ inputs.new-tag }}"
44+
exit 1
45+
fi
46+
echo "✔ - Release tag is a valid semver"
47+
48+
release:
49+
needs: ['verify-release-tag']
50+
uses: "./.github/workflows/release.yml"
51+
secrets: inherit
52+
with:
53+
version: ${{ inputs.new-tag }}

.github/workflows/release.yml

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Reusable WF - Release
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
version:
7+
required: true
8+
type: string
9+
10+
defaults:
11+
run:
12+
shell: bash
13+
14+
jobs:
15+
16+
build-test-package:
17+
uses: "./.github/workflows/build-test-package.yml"
18+
secrets: inherit
19+
with:
20+
version: ${{ inputs.version }}
21+
22+
create-release:
23+
needs: ['build-test-package']
24+
runs-on: ubuntu-latest
25+
steps:
26+
27+
- name: Create Release
28+
uses: ncipollo/release-action@v1
29+
with:
30+
tag: ${{ inputs.version }}
31+
commit: ${{ github.sha }}
32+
name: "Howso Docs ${{ inputs.version }}"
33+
artifactErrorsFailBuild: true
34+
generateReleaseNotes: true
35+
makeLatest: legacy

.gitignore

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
**/.DS_Store
2+
.idea
3+
.vscode
4+
build/**
5+
local/**
6+
.env/**
7+
.direnv
8+
.envrc
9+
.python-version
10+
.nvmrc
11+
12+
source/examples
13+
**/*.trace
14+
node_modules

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "submodules/howso-engine-recipes"]
2+
path = submodules/howso-engine-recipes
3+
url = https://github.com/howsoai/howso-engine-recipes.git

.openapi-generator-ignore

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
**/*_allOf.md
2+
**/*.md
3+
**/*.py
4+
**/*.pyi
5+
6+
# Explicitly include target files
7+
8+
# Feature Attributes
9+
!**/FeatureAttributes.md
10+
!**/FeatureOriginalType.md
11+
!**/FeatureBounds.md
12+
!**/FeatureTimeSeries.md
13+
!**/FeatureAutoDeriveOnTrain*.md
14+
15+
# Misc
16+
!**/Cases.md

.readthedocs.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# .readthedocs.yml
2+
# Read the Docs configuration file
3+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4+
5+
# Required
6+
version: 2
7+
8+
# Build documentation in the docs/ directory with Sphinx
9+
sphinx:
10+
configuration: source/conf.py
11+
12+
build:
13+
os: ubuntu-22.04
14+
tools:
15+
python: "3.11"
16+
nodejs: "18"
17+
apt_packages:
18+
- openjdk-11-jre-headless
19+
jobs:
20+
pre_build:
21+
- ./bin/build.sh copy_recipes
22+
23+
# Optionally set the version of Python and requirements required to build your docs
24+
python:
25+
install:
26+
- requirements: ./requirements.in
27+
28+
submodules:
29+
include: all

CONTRIBUTING.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Contributing
2+
3+
This Howso™ opensource project only accepts code contributions from individuals and organizations that have signed a contributor license agreement. For more information on contributing and for links to the individual and corporate CLAs, please visit: https://www.howso.com/cla

0 commit comments

Comments
 (0)