diff --git a/.github/workflows/progress.yml b/.github/workflows/progress.yml index a45defac9..d789d4de6 100644 --- a/.github/workflows/progress.yml +++ b/.github/workflows/progress.yml @@ -1,9 +1,14 @@ -name: Progress +name: Pages on: push: branches: [main] workflow_dispatch: + release: + types: [published] + workflow_run: + workflows: [Release] + types: [completed] permissions: contents: read @@ -15,7 +20,8 @@ concurrency: cancel-in-progress: false jobs: - progress: + pages: + if: github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' runs-on: ubuntu-latest environment: name: github-pages @@ -23,11 +29,27 @@ jobs: steps: - uses: actions/checkout@v7 with: + ref: main fetch-depth: 0 - - run: python3 tools/progress.py out - - run: python3 tools/progress_history.py out + - name: Build web converter + shell: bash + run: | + git clone --depth 1 https://github.com/emscripten-core/emsdk.git "$RUNNER_TEMP/emsdk" + "$RUNNER_TEMP/emsdk/emsdk" install 6.0.3 + "$RUNNER_TEMP/emsdk/emsdk" activate 6.0.3 + source "$RUNNER_TEMP/emsdk/emsdk_env.sh" + emcmake cmake -S . -B build-wasm -DANYPS5_BUILD_WASM=ON -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=Release + cmake --build build-wasm --target relinker_web --parallel 2 + - name: Test web converter + run: python3 tools/test_web.py --build build-wasm + - name: Download latest release libraries + env: + GITHUB_TOKEN: ${{ github.token }} + run: python3 tools/build_web.py --build build-wasm --libraries + - run: python3 tools/progress.py build-wasm/web + - run: python3 tools/progress_history.py build-wasm/web - uses: actions/upload-pages-artifact@v5 with: - path: out + path: build-wasm/web - id: deployment uses: actions/deploy-pages@v5 diff --git a/README.md b/README.md index aa8f5d6d5..a585752d1 100644 --- a/README.md +++ b/README.md @@ -12,9 +12,9 @@ Includes a [relinker](core/relinker) that converts executable to the target syst ## Status -[](https://boykopovar.github.io/AnyPS5/) [](https://boykopovar.github.io/AnyPS5/) +[](https://boykopovar.github.io/AnyPS5/progress.html) [](https://boykopovar.github.io/AnyPS5/progress.html) -[](https://boykopovar.github.io/AnyPS5/) +[](https://boykopovar.github.io/AnyPS5/progress.html) [Progress history](https://boykopovar.github.io/AnyPS5/history.html) diff --git a/tools/progress.py b/tools/progress.py index 5139d1ec4..4c92b3e7a 100644 --- a/tools/progress.py +++ b/tools/progress.py @@ -440,6 +440,6 @@ if __name__ == "__main__": (output / "badge-libraries.svg").write_text(badge("libraries*", libraries)) (output / "badge-shaders.svg").write_text(badge("shaders", shaders)) (output / "progress.svg").write_text(render(libraries, shaders)) - (output / "index.html").write_text(summary(libraries, shaders)) + (output / "progress.html").write_text(summary(libraries, shaders)) print(f'libraries {libraries["done"]}/{libraries["total"]} ({libraries["percent"]}%)') print(f'shaders {shaders["done"]}/{shaders["total"]} ({shaders["percent"]}%)') diff --git a/tools/progress_history.py b/tools/progress_history.py index 26e1ae7b4..63159c40a 100644 --- a/tools/progress_history.py +++ b/tools/progress_history.py @@ -116,7 +116,7 @@ def page(points): f'
One point per day with commits on main, taken at the last commit of the day. Every point is measured '
f'with the current tools/progress.py rules and instruction list, '
'so the series is comparable across days. Hover a point for the exact numbers. Raw numbers: history.json. '
- 'Back to the current progress.
| Date | ' + "".join(f'{escape(label)} | % | ' for _, label, _ in SERIES) + '
|---|