Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
635c0af
upadte the all resusable workflows
Harikrishna-2016 Oct 15, 2026
17a32ea
PR workflow using a reusable CI workflow
Harikrishna-2016 Oct 16, 2026
cdcdeb4
fix: the packge-basepath issue in check_package.yml
Harikrishna-2016 Oct 16, 2026
1d1c8a3
uncomment the analyze the python project
Harikrishna-2016 Oct 16, 2026
0a3f244
remove the analyze_package.yml
Harikrishna-2016 Oct 16, 2026
ad5a257
add the permissions in check_workflows.yml
Harikrishna-2016 Oct 16, 2026
7cde222
remove the security events
Harikrishna-2016 Oct 16, 2026
cb3bf6d
upadte the workflows
Harikrishna-2016 Oct 16, 2026
3e32658
Revert pyproject.toml changes
Harikrishna-2016 Oct 16, 2026
1119e22
remove the comment in CI.yml
Harikrishna-2016 Oct 16, 2026
aa6f40a
Fix the all comments in PR
Harikrishna-2016 Oct 17, 2026
0f717d9
fix the comments on PR
Harikrishna-2016 Oct 17, 2026
6d10909
remove the contents:read pemissions in commented workflows
Harikrishna-2016 Oct 17, 2026
ccfc713
fixing the comments on PR and remove the contents:read from workflows
Harikrishna-2016 Oct 17, 2026
01cb9de
fixing the comments on PR and remove the contents:read from workflows
Harikrishna-2016 Oct 17, 2026
1edb905
fixing the comments on PR and remove the contents:read from workflows
Harikrishna-2016 Oct 17, 2026
7e15594
Update test_package.yml
Harikrishna-2016 Oct 19, 2026
4994e83
Update CI.yml
Harikrishna-2016 Oct 19, 2026
6ff0af8
Update test-wheel-build.yml
Harikrishna-2016 Oct 19, 2026
94bc5c9
Rename test-wheel-build.yml to test_wheel_build.yml
Harikrishna-2016 Oct 19, 2026
a21e818
Delete .github/workflows/publish-to-pypi.yml
Harikrishna-2016 Oct 19, 2026
27f44ab
update publish.yml file
Harikrishna-2016 Oct 19, 2026
f30736d
Update test_package.yml
Harikrishna-2016 Oct 21, 2026
c76fed5
Update get_package_info.yml
Harikrishna-2016 Oct 21, 2026
9ce2b1d
Update get_package_info.yml
Harikrishna-2016 Oct 21, 2026
6472c5e
Update get_package_info.yml
Harikrishna-2016 Oct 21, 2026
6d2cb16
Update get_package_info.yml
Harikrishna-2016 Oct 21, 2026
6bfb8b4
Update get_package_info.yml
Harikrishna-2016 Oct 21, 2026
00d167e
Update get_package_info.yml
Harikrishna-2016 Oct 21, 2026
1d6bb87
Delete .github/workflows/publish.yml
Harikrishna-2016 Oct 21, 2026
f9a9a8c
update the publish.yml
Harikrishna-2016 Oct 21, 2026
7e93091
Delete .github/workflows/publish.yml
Harikrishna-2016 Oct 21, 2026
b0ff84b
upload new publish.yml file
Harikrishna-2016 Oct 21, 2026
0af1864
Update python-packages.json
Harikrishna-2016 Oct 22, 2026
036c394
Update get_package_info.yml
Harikrishna-2016 Oct 22, 2026
8747fd4
Update python-packages.json
Harikrishna-2016 Oct 22, 2026
422f47c
changes
sourabhutaniCG Oct 22, 2026
9134ce9
Update test_package.yml
sourabhutaniCG Oct 22, 2026
b1b6a71
Update test_package.yml
sourabhutaniCG Oct 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/python-packages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"nisyscfg": {
"package-basepath": "."
}
}
51 changes: 51 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: CI

on:
push:
branches:
- main
workflow_call:
workflow_dispatch:

permissions: {}

jobs:
check_workflows:
name: Check workflows
uses: ./.github/workflows/check_workflows.yml
get_package_names:
name: Get package names
uses: ./.github/workflows/get_package_names.yml
check_packages:
name: Check ${{ matrix.package-name }}
needs: get_package_names
strategy:
matrix:
package-name: ${{ fromJson(needs.get_package_names.outputs.package-names) }}
uses: ./.github/workflows/check_package.yml
with:
package-name: ${{ matrix.package-name }}
test_packages:
name: Test ${{ matrix.package-name }}
needs: get_package_names
strategy:
matrix:
package-name: ${{ fromJson(needs.get_package_names.outputs.package-names) }}
uses: ./.github/workflows/test_package.yml
with:
package-name: ${{ matrix.package-name }}

test_wheel_build:
name: Test wheel build
needs: check_packages
uses: ./.github/workflows/test_wheel_build.yml

report_test_results:
name: Report test results
if: ${{ always() }}
needs: test_packages
uses: ./.github/workflows/report_test_results.yml
permissions:
checks: write # needed to push the aggregated report
pull-requests: write # needed to post the report to the PR

24 changes: 24 additions & 0 deletions .github/workflows/PR.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: PR

on:
pull_request:
branches:
- main
workflow_call:
workflow_dispatch:

permissions: {}
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
run_ci:
name: Run CI
uses: ./.github/workflows/CI.yml
permissions:
checks: write # needed to push the aggregated test results report
pull-requests: write # needed to post the test results report to the PR



19 changes: 19 additions & 0 deletions .github/workflows/check_package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Check package

on:
workflow_call:
inputs:
package-name:
description: 'The name of the package folder to check.'
default: ''
required: true
type: string

permissions: {}

jobs:
get_package_info:
name: Get package info for ${{ inputs.package-name }}
uses: ./.github/workflows/get_package_info.yml
with:
package-name: ${{ inputs.package-name }}
26 changes: 26 additions & 0 deletions .github/workflows/check_workflows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Check workflows

on:
workflow_call:
workflow_dispatch:

permissions: {}

jobs:
zizmor:
name: Run zizmor
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Run zizmor
uses: zizmorcore/zizmor-action@192e21d79ab29983730a13d1382995c2307fbcaa # v0.5.7
with:
advanced-security: false # TODO: use the default when we publish the repo
inputs: |
.github/workflows



64 changes: 64 additions & 0 deletions .github/workflows/get_package_info.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Get package info

on:
workflow_call:
inputs:
package-name:
description: 'The name of the package from .github/python-packages.json.'
default: ''
required: true
type: string
outputs:
package-basepath:
description: 'The package base path relative to the repo root.'
# NOTE: This is not the absolute path, because downstream actions are expected to be run on multiple platforms.
value: ${{ jobs.get_package_info.outputs.package-basepath }}
install-extras:
description: 'A space-separated list of package extras to install.'
value: ${{ jobs.get_package_info.outputs.install-extras }}
permissions: {}

jobs:
get_package_info:
name: Get package info for ${{ inputs.package-name }}
runs-on: ubuntu-latest
outputs:
package-basepath: ${{ steps.parse_json.outputs.package-basepath }}
install-extras: ${{ steps.parse_json.outputs.install-extras }}
should-check-docs: ${{ steps.parse_json.outputs.should-check-docs }}
steps:
- name: Check out repo
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Get package info from JSON
id: parse_json
env:
PACKAGE_NAME: ${{ inputs.package-name }}
# NOTE: jq only supports standard JSON, not JSONC or JSON5
run: |
info=$(jq -c --arg name "$PACKAGE_NAME" '.[$name]' "./.github/python-packages.json")
if [ "$info" = "null" ]; then
echo "Error: Package '$PACKAGE_NAME' not found in .github/python-packages.json." >&2
exit 1
fi

package_basepath=$(echo "$info" | jq -r '."package-basepath"')
install_extras=$(echo "$info" | jq -r '."install-extras"')

should_check_docs=false
if [ -d "${package_basepath}/docs" ]; then
should_check_docs=true
fi

if [ "${install_extras}" == "null" ]; then
install_extras=""
fi
echo "package-basepath=${package_basepath}" >> $GITHUB_OUTPUT
echo "install-extras=${install_extras}" >> $GITHUB_OUTPUT
echo "should-check-docs=${should_check_docs}" >> $GITHUB_OUTPUT
- name: Show package info
env:
STEP_OUTPUTS: ${{ toJSON(steps.parse_json.outputs) }}
run: |
echo "$STEP_OUTPUTS"
33 changes: 33 additions & 0 deletions .github/workflows/get_package_names.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Get package names

on:
workflow_call:
outputs:
package-names:
description: "List of package names from .github/python-packages.json"
value: ${{ jobs.get_package_names.outputs.package-names }}

permissions: {}

jobs:
get_package_names:
name: Get package names
runs-on: ubuntu-latest
outputs:
package-names: ${{ steps.parse_json.outputs.package-names }}
steps:
- name: Check out repo
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Get package info from JSON
id: parse_json
# NOTE: jq only supports standard JSON, not JSONC or JSON5
run: |
info=$(jq -c 'keys' ./.github/python-packages.json)
if [ -z "$info" ] || [ "$info" = "[]" ]; then
echo "Error: No package names found in .github/python-packages.json" >&2
exit 1
fi
echo "Package names: $info"
echo "package-names=$info" >> $GITHUB_OUTPUT
37 changes: 0 additions & 37 deletions .github/workflows/publish-to-pypi.yml

This file was deleted.

Loading
Loading