Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
508 changes: 264 additions & 244 deletions .github/workflows/build.yml

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions .github/workflows/dependency-submission.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ jobs:
steps:
- name: Checkout sources
uses: actions/checkout@v6
- uses: actions/setup-java@v5
- name: Setup Java
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 25
java-version: 17
- name: Generate and submit dependency graph
uses: gradle/actions/dependency-submission@v5
8 changes: 4 additions & 4 deletions .github/workflows/lint-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ jobs:
- name: Generate diff
run: git diff HEAD > wpiformat-fixes.patch
if: ${{ failure() }}
- uses: actions/upload-artifact@v7
- uses: actions/upload-artifact@v6
with:
archive: false
name: wpiformat fixes
path: wpiformat-fixes.patch
if: ${{ failure() }}
javaformat:
Expand All @@ -61,7 +61,7 @@ jobs:
fetch-depth: 0
- uses: actions/setup-java@v5
with:
java-version: 25
java-version: 17
distribution: temurin
- run: |
set +e
Expand All @@ -81,7 +81,7 @@ jobs:
steps:
- uses: actions/checkout@v6
- name: Install pnpm
uses: pnpm/action-setup@v5
uses: pnpm/action-setup@v4
with:
version: 10
- name: Setup Node.js
Expand Down
15 changes: 8 additions & 7 deletions .github/workflows/photon-api-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
steps:
- uses: actions/checkout@v6
- name: Install pnpm
uses: pnpm/action-setup@v5
uses: pnpm/action-setup@v4
with:
version: 10
- name: Setup Node.js
Expand All @@ -44,7 +44,7 @@ jobs:
run: pnpm i --frozen-lockfile
- name: Build Production Client
run: pnpm run build-demo
- uses: actions/upload-artifact@v7
- uses: actions/upload-artifact@v6
with:
name: built-demo
path: photon-client/dist/
Expand All @@ -60,15 +60,16 @@ jobs:
fetch-depth: 0
- name: Fetch tags
run: git fetch --tags --force
- uses: actions/setup-java@v5
- name: Install Java 17
uses: actions/setup-java@v5
with:
java-version: 25
java-version: 17
distribution: temurin
- name: Build javadocs/doxygen
run: |
chmod +x gradlew
./gradlew photon-docs:generateJavaDocs photon-docs:doxygen
- uses: actions/upload-artifact@v7
- uses: actions/upload-artifact@v6
with:
name: docs-java-cpp
path: photon-docs/build/docs
Expand All @@ -79,7 +80,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
# Download docs artifact
- uses: actions/download-artifact@v8
- uses: actions/download-artifact@v7
with:
pattern: docs-*
- run: find .
Expand All @@ -105,7 +106,7 @@ jobs:
needs: [build_demo]
runs-on: ubuntu-24.04
steps:
- uses: actions/download-artifact@v8
- uses: actions/download-artifact@v7
with:
name: built-demo
- run: find .
Expand Down
262 changes: 131 additions & 131 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,134 +12,134 @@ concurrency:
cancel-in-progress: true

jobs:
# build-py:
# runs-on: ubuntu-24.04
#
# steps:
# - name: Checkout code
# uses: actions/checkout@v6
# with:
# fetch-depth: 0
#
# - name: Set up Python
# uses: actions/setup-python@v6
# with:
# python-version: 3.14
#
# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
# pip install setuptools wheel
#
# - name: Build wheel
# working-directory: ./photon-lib/py
# run: python setup.py sdist bdist_wheel
#
# - name: Upload artifacts
# uses: actions/upload-artifact@v7
# with:
# name: dist
# path: ./photon-lib/py/dist/
#
# test-py:
# needs: build-py
# runs-on: ubuntu-24.04
#
# steps:
# - name: Checkout code
# uses: actions/checkout@v6
# with:
# fetch-depth: 0
#
# - name: Set up Python
# uses: actions/setup-python@v6
# with:
# python-version: 3.14
#
# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
# pip install pytest mypy
#
# - name: Download artifacts
# uses: actions/download-artifact@v8
# with:
# name: dist
# path: dist/
#
# - name: Install package
# shell: bash
# run: pip install --no-cache-dir dist/*.whl
#
# - name: Run Unit Tests
# shell: bash
# run: pytest --import-mode=importlib photon-lib/py/test/
#
# - name: Run mypy type checking
# run: mypy --show-column-numbers --config-file photon-lib/py/pyproject.toml photon-lib
#
# build-python-examples:
# needs: build-py
# strategy:
# matrix:
# os: [ubuntu-24.04, windows-2022, macos-14]
# runs-on: ${{ matrix.os }}
#
# steps:
#
# - name: Checkout code
# uses: actions/checkout@v6
# with:
# fetch-depth: 0
#
# - name: Set up Python
# uses: actions/setup-python@v6
# with:
# python-version: 3.14
#
# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
#
# - name: Download artifacts
# uses: actions/download-artifact@v8
# with:
# name: dist
# path: ./photon-lib/py/dist/
#
# - name: Install PhotonLibPy package
# working-directory: ./photon-lib/py
# shell: bash
# run: |
# pip install --no-cache-dir dist/*.whl
#
# - name: Build Python examples
# working-directory: photonlib-python-examples
# shell: bash
# run: |
# for folder in */;
# do
# echo $folder
# ./run.sh $folder
# done
#
# deploy:
# needs: [test-py, build-python-examples]
# runs-on: ubuntu-24.04
# # Only upload on tags
# if: startsWith(github.ref, 'refs/tags/v')
#
# steps:
# - name: Download artifacts
# uses: actions/download-artifact@v8
# with:
# name: dist
# path: dist/
#
# - name: Publish package distributions to PyPI
# uses: pypa/gh-action-pypi-publish@release/v1
# with:
# packages-dir: ./dist/
#
# permissions:
# id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
build-py:
runs-on: ubuntu-24.04

steps:
- name: Checkout code
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: 3.14

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel

- name: Build wheel
working-directory: ./photon-lib/py
run: python setup.py sdist bdist_wheel

- name: Upload artifacts
uses: actions/upload-artifact@v6
with:
name: dist
path: ./photon-lib/py/dist/

test-py:
needs: build-py
runs-on: ubuntu-24.04

steps:
- name: Checkout code
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: 3.14

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest mypy

- name: Download artifacts
uses: actions/download-artifact@v6
with:
name: dist
path: dist/

- name: Install package
shell: bash
run: pip install --no-cache-dir dist/*.whl

- name: Run Unit Tests
shell: bash
run: pytest --import-mode=importlib photon-lib/py/test/

- name: Run mypy type checking
run: mypy --show-column-numbers --config-file photon-lib/py/pyproject.toml photon-lib

build-python-examples:
needs: build-py
strategy:
matrix:
os: [ubuntu-24.04, windows-2022, macos-14]
runs-on: ${{ matrix.os }}

steps:

- name: Checkout code
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: 3.14

- name: Install dependencies
run: |
python -m pip install --upgrade pip

- name: Download artifacts
uses: actions/download-artifact@v6
with:
name: dist
path: ./photon-lib/py/dist/

- name: Install PhotonLibPy package
working-directory: ./photon-lib/py
shell: bash
run: |
pip install --no-cache-dir dist/*.whl

- name: Build Python examples
working-directory: photonlib-python-examples
shell: bash
run: |
for folder in */;
do
echo $folder
./run.sh $folder
done

deploy:
needs: [test-py, build-python-examples]
runs-on: ubuntu-24.04
# Only upload on tags
if: startsWith(github.ref, 'refs/tags/v')

steps:
- name: Download artifacts
uses: actions/download-artifact@v6
with:
name: dist
path: dist/

- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: ./dist/

permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
4 changes: 2 additions & 2 deletions .github/workflows/website.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
steps:
- uses: actions/checkout@v6
- name: Install pnpm
uses: pnpm/action-setup@v5
uses: pnpm/action-setup@v4
with:
version: 10
- name: Setup Node
Expand Down Expand Up @@ -41,7 +41,7 @@ jobs:
steps:
- uses: actions/checkout@v6
- name: Install pnpm
uses: pnpm/action-setup@v5
uses: pnpm/action-setup@v4
with:
version: 10
- name: Setup Node
Expand Down
10 changes: 5 additions & 5 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"python.testing.cwd": "photon-lib/py",
"java.configuration.updateBuildConfiguration": "automatic"
}
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"python.testing.cwd": "photon-lib/py",
"java.configuration.updateBuildConfiguration": "automatic"
}
Loading
Loading