docs(vcd): document APA-HDD POPS layout (PP.* installs, __common POPS… #772
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI-compile | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| repository_dispatch: | |
| types: [run_build] | |
| permissions: | |
| contents: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| container: ps2max/dev:v20250725-2 | |
| steps: | |
| - name: git checkout | |
| uses: actions/checkout@v6 | |
| - run: | | |
| git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
| git fetch --prune --unshallow | |
| - name: Compile -> make clean release | |
| run: make --trace clean && make --trace release | |
| - name: Create detailed changelog | |
| run: sh ./make_changelog.sh | |
| - name: Upload release artifact ELF | |
| if: ${{ success() }} | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: RIPTOPL | |
| path: | | |
| RIPTOPL-*.ELF | |
| - name: Upload release artifact info | |
| if: ${{ success() }} | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: INFO | |
| path: | | |
| DETAILED_CHANGELOG | |
| CREDITS | |
| LICENSE | |
| README.md | |
| build-ps2dev-latest: | |
| runs-on: ubuntu-latest | |
| container: ps2dev/ps2dev:latest | |
| steps: | |
| - name: git checkout | |
| uses: actions/checkout@v6 | |
| - name: Install host dependencies (Alpine only) | |
| run: | | |
| if command -v apk >/dev/null 2>&1; then | |
| # Consolidated ps2dev Alpine prerequisites: build tools, scripting, packaging, and gcc runtime libs. | |
| apk add --no-cache \ | |
| bash \ | |
| make \ | |
| git \ | |
| zip \ | |
| unzip \ | |
| tar \ | |
| gzip \ | |
| xz \ | |
| python3 \ | |
| py3-pip \ | |
| py3-yaml \ | |
| gmp \ | |
| mpfr4 \ | |
| mpc1 \ | |
| perl \ | |
| cmake \ | |
| pkgconf \ | |
| coreutils \ | |
| findutils \ | |
| grep \ | |
| sed \ | |
| gawk \ | |
| diffutils | |
| fi | |
| - run: | | |
| git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
| git fetch --prune --unshallow || true | |
| - name: Compile -> make clean release | |
| run: make --trace clean && make --trace release | |
| - name: Create detailed changelog | |
| run: sh ./make_changelog.sh | |
| - name: Upload release artifact ELF (ps2dev-latest) | |
| if: ${{ success() }} | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: RIPTOPL-ps2dev-latest | |
| path: | | |
| RIPTOPL-*.ELF | |
| - name: Upload release artifact info (ps2dev-latest) | |
| if: ${{ success() }} | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: INFO-ps2dev-latest | |
| path: | | |
| DETAILED_CHANGELOG | |
| CREDITS | |
| LICENSE | |
| README.md | |
| build-variants: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| extra: [EXTRA_FEATURES=0, EXTRA_FEATURES=1] | |
| pademu: [PADEMU=0, PADEMU=1] | |
| runs-on: ubuntu-latest | |
| container: ps2max/dev:v20250725-2 | |
| steps: | |
| - name: git checkout | |
| uses: actions/checkout@v6 | |
| - run: | | |
| git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
| git fetch --prune --unshallow | |
| - name: Get version | |
| run: | | |
| echo "OPL_VERSION=$(make oplversion)" >> "$GITHUB_ENV" | |
| - name: Compile -> make ${{ matrix.extra }} ${{ matrix.pademu }} ${{ matrix.extra }} NOT_PACKED=1 | |
| run: | | |
| make --trace ${{ matrix.pademu }} ${{ matrix.extra }} NOT_PACKED=1 | |
| mv opl.elf RIPTOPL-${{ env.OPL_VERSION }}-${{ matrix.pademu }}-${{ matrix.extra }}.ELF | |
| - name: Create detailed changelog | |
| run: sh ./make_changelog.sh | |
| - name: Upload variants artifact ELF | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: RIPTOPL-VARIANTS ${{ matrix.pademu }} ${{ matrix.extra }} | |
| path: RIPTOPL*.ELF | |
| build-variants-ps2dev-latest: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| extra: [EXTRA_FEATURES=0, EXTRA_FEATURES=1] | |
| pademu: [PADEMU=0, PADEMU=1] | |
| runs-on: ubuntu-latest | |
| container: ps2dev/ps2dev:latest | |
| steps: | |
| - name: git checkout | |
| uses: actions/checkout@v6 | |
| - name: Install host dependencies (Alpine only) | |
| run: | | |
| if command -v apk >/dev/null 2>&1; then | |
| # Consolidated ps2dev Alpine prerequisites: build tools, scripting, packaging, and gcc runtime libs. | |
| apk add --no-cache \ | |
| bash \ | |
| make \ | |
| git \ | |
| zip \ | |
| unzip \ | |
| tar \ | |
| gzip \ | |
| xz \ | |
| python3 \ | |
| py3-pip \ | |
| py3-yaml \ | |
| gmp \ | |
| mpfr4 \ | |
| mpc1 \ | |
| perl \ | |
| cmake \ | |
| pkgconf \ | |
| coreutils \ | |
| findutils \ | |
| grep \ | |
| sed \ | |
| gawk \ | |
| diffutils | |
| fi | |
| - run: | | |
| git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
| git fetch --prune --unshallow || true | |
| - name: Get version | |
| run: | | |
| echo "OPL_VERSION=$(make oplversion)" >> "$GITHUB_ENV" | |
| - name: Compile -> make ${{ matrix.extra }} ${{ matrix.pademu }} ${{ matrix.extra }} NOT_PACKED=1 | |
| run: | | |
| make --trace ${{ matrix.pademu }} ${{ matrix.extra }} NOT_PACKED=1 | |
| mv opl.elf RIPTOPL-${{ env.OPL_VERSION }}-${{ matrix.pademu }}-${{ matrix.extra }}.ELF | |
| - name: Create detailed changelog | |
| run: sh ./make_changelog.sh | |
| - name: Upload variants artifact ELF (ps2dev-latest) | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: RIPTOPL-VARIANTS-ps2dev-latest ${{ matrix.pademu }} ${{ matrix.extra }} | |
| path: RIPTOPL*.ELF | |
| merge-variants: | |
| runs-on: ubuntu-latest | |
| needs: build-variants | |
| steps: | |
| - name: Download variant artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| pattern: RIPTOPL-VARIANTS PADEMU=* | |
| path: merged-variants | |
| merge-multiple: true | |
| - name: Re-upload merged variants | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: RIPTOPL-VARIANTS | |
| path: merged-variants | |
| merge-variants-ps2dev-latest: | |
| runs-on: ubuntu-latest | |
| needs: build-variants-ps2dev-latest | |
| steps: | |
| - name: Download variant artifacts (ps2dev-latest) | |
| uses: actions/download-artifact@v8 | |
| with: | |
| pattern: RIPTOPL-VARIANTS-ps2dev-latest* | |
| path: merged-variants-ps2dev-latest | |
| merge-multiple: true | |
| - name: Re-upload merged variants (ps2dev-latest) | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: RIPTOPL-VARIANTS-ps2dev-latest | |
| path: merged-variants-ps2dev-latest | |
| build-lang: | |
| runs-on: ubuntu-latest | |
| container: ps2max/dev:v20250725-2 | |
| steps: | |
| - name: git checkout | |
| uses: actions/checkout@v6 | |
| - run: | | |
| git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
| git fetch --prune --unshallow | |
| - name: Compile -> make download_lng languages | |
| run: make --trace download_lng languages | |
| - name: Create artifact | |
| run: sh ./lng_pack.sh | |
| - name: Upload release artifact | |
| if: ${{ success() }} | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: RIPTOPL-LANGS | |
| path: | | |
| RIPTOPL-LANGS-*.zip | |
| build-lang-ps2dev-latest: | |
| runs-on: ubuntu-latest | |
| container: ps2dev/ps2dev:latest | |
| steps: | |
| - name: git checkout | |
| uses: actions/checkout@v6 | |
| - name: Install host dependencies (Alpine only) | |
| run: | | |
| if command -v apk >/dev/null 2>&1; then | |
| # Consolidated ps2dev Alpine prerequisites: build tools, scripting, packaging, and gcc runtime libs. | |
| apk add --no-cache \ | |
| bash \ | |
| make \ | |
| git \ | |
| zip \ | |
| unzip \ | |
| tar \ | |
| gzip \ | |
| xz \ | |
| python3 \ | |
| py3-pip \ | |
| py3-yaml \ | |
| gmp \ | |
| mpfr4 \ | |
| mpc1 \ | |
| perl \ | |
| cmake \ | |
| pkgconf \ | |
| coreutils \ | |
| findutils \ | |
| grep \ | |
| sed \ | |
| gawk \ | |
| diffutils | |
| fi | |
| - run: | | |
| git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
| git fetch --prune --unshallow || true | |
| - name: Compile -> make download_lng languages | |
| run: make --trace download_lng languages | |
| - name: Create artifact | |
| run: sh ./lng_pack.sh | |
| - name: Upload release artifact (ps2dev-latest) | |
| if: ${{ success() }} | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: RIPTOPL-LANGS-ps2dev-latest | |
| path: | | |
| RIPTOPL-LANGS-*.zip | |
| build-debug: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| debug: [iopcore_debug, ingame_debug, eesio_debug, iopcore_ppctty_debug, ingame_ppctty_debug, DTL_T10000=1] | |
| container_commit: [":v20250725-2"] | |
| runs-on: ubuntu-latest | |
| container: ps2max/dev${{ matrix.container_commit }} | |
| steps: | |
| - name: git checkout | |
| uses: actions/checkout@v6 | |
| - run: | | |
| git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
| git fetch --prune --unshallow | |
| - name: Get version | |
| run: | | |
| echo "OPL_VERSION=$(make oplversion)" >> "$GITHUB_ENV" | |
| SHORT_COMMIT="${{ matrix.container_commit }}" | |
| SHORT_COMMIT=${SHORT_COMMIT: -4} | |
| echo "SHORT_COMMIT=$SHORT_COMMIT" >> "$GITHUB_ENV" | |
| - name: Compile -> make debug | |
| run: | | |
| make ${{ matrix.debug }} --trace | |
| mv opl.elf opl-${{ matrix.debug }}-${{ env.OPL_VERSION }}-${{ env.SHORT_COMMIT }}.elf | |
| - name: Upload debug artifact ELF | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: opl-${{ matrix.debug }}-${{ env.OPL_VERSION }}-${{ env.SHORT_COMMIT }} | |
| path: opl-*.elf | |
| merge-debug: | |
| runs-on: ubuntu-latest | |
| needs: build-debug | |
| steps: | |
| - name: Download debug artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| pattern: opl-* | |
| path: merged-debug | |
| merge-multiple: true | |
| - name: Remove ps2dev-latest debug artifacts from normal bundle | |
| run: find merged-debug -type f -name '*-ps2dev-latest.elf' -delete | |
| - name: Re-upload merged debug artifacts | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: RIPTOPL-DEBUG | |
| path: merged-debug | |
| build-debug-ps2dev-latest: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| debug: [iopcore_debug, ingame_debug, eesio_debug, iopcore_ppctty_debug, ingame_ppctty_debug, DTL_T10000=1] | |
| runs-on: ubuntu-latest | |
| container: ps2dev/ps2dev:latest | |
| steps: | |
| - name: git checkout | |
| uses: actions/checkout@v6 | |
| - name: Install host dependencies (Alpine only) | |
| run: | | |
| if command -v apk >/dev/null 2>&1; then | |
| # Consolidated ps2dev Alpine prerequisites: build tools, scripting, packaging, and gcc runtime libs. | |
| apk add --no-cache \ | |
| bash \ | |
| make \ | |
| git \ | |
| zip \ | |
| unzip \ | |
| tar \ | |
| gzip \ | |
| xz \ | |
| python3 \ | |
| py3-pip \ | |
| py3-yaml \ | |
| gmp \ | |
| mpfr4 \ | |
| mpc1 \ | |
| perl \ | |
| cmake \ | |
| pkgconf \ | |
| coreutils \ | |
| findutils \ | |
| grep \ | |
| sed \ | |
| gawk \ | |
| diffutils | |
| fi | |
| - run: | | |
| git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
| git fetch --prune --unshallow || true | |
| - name: Get version | |
| run: | | |
| echo "OPL_VERSION=$(make oplversion)" >> "$GITHUB_ENV" | |
| - name: Compile -> make debug | |
| run: | | |
| make ${{ matrix.debug }} --trace | |
| mv opl.elf opl-${{ matrix.debug }}-${{ env.OPL_VERSION }}-ps2dev-latest.elf | |
| - name: Upload debug artifact ELF (ps2dev-latest) | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: opl-${{ matrix.debug }}-${{ env.OPL_VERSION }}-ps2dev-latest | |
| path: opl-*.elf | |
| merge-debug-ps2dev-latest: | |
| runs-on: ubuntu-latest | |
| needs: build-debug-ps2dev-latest | |
| steps: | |
| - name: Download debug artifacts (ps2dev-latest) | |
| uses: actions/download-artifact@v8 | |
| with: | |
| pattern: opl-*-ps2dev-latest | |
| path: merged-debug-ps2dev-latest | |
| merge-multiple: true | |
| - name: Re-upload merged debug artifacts (ps2dev-latest) | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: RIPTOPL-DEBUG-ps2dev-latest | |
| path: merged-debug-ps2dev-latest | |
| release: | |
| needs: [build, merge-variants, build-lang] | |
| runs-on: ubuntu-latest | |
| if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master' | |
| env: | |
| USERNAME: ${{ secrets.USERNAME }} | |
| PASSWORD: ${{ secrets.PASSWORD }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| steps: | |
| - name: git checkout | |
| uses: actions/checkout@v6 | |
| - run: git fetch --prune --unshallow | |
| - name: Get version | |
| run: | | |
| echo "OPL_VERSION=$(make oplversion)" >> "$GITHUB_ENV" | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v8 | |
| - name: Prepare artifacts for release | |
| run: | | |
| echo packing release of OPL ${{ env.OPL_VERSION }} | |
| cp INFO/* RIPTOPL/ | |
| cp INFO/* RIPTOPL-VARIANTS/ | |
| 7z a -t7z RIPTOPL-${{ env.OPL_VERSION }}.7z RIPTOPL/* | |
| 7z a -t7z RIPTOPL-VARIANTS-${{ env.OPL_VERSION }}.7z RIPTOPL-VARIANTS/* | |
| 7z a -t7z RIPTOPL-LANGS-${{ env.OPL_VERSION }}.7z RIPTOPL-LANGS/* | |
| cp -f RIPTOPL-${{ env.OPL_VERSION }}.7z RIPTOPL.7z | |
| cp -f RIPTOPL-VARIANTS-${{ env.OPL_VERSION }}.7z RIPTOPL-VARIANTS.7z | |
| cp -f RIPTOPL-LANGS-${{ env.OPL_VERSION }}.7z RIPTOPL-LANGS.7z | |
| cp -f RIPTOPL/RIPTOPL-${{ env.OPL_VERSION }}.ELF RIPTOPL.ELF | |
| - name: Compute SHA256 checksums | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| run: | | |
| set -eu | |
| # Publish SHA256 of EVERY uploaded asset -- versioned bundles, the stable-alias | |
| # bundles, and the ELF -- so any download (including the bare-name aliases) is verifiable. | |
| sha256sum \ | |
| RIPTOPL-${{ env.OPL_VERSION }}.7z \ | |
| RIPTOPL-VARIANTS-${{ env.OPL_VERSION }}.7z \ | |
| RIPTOPL-LANGS-${{ env.OPL_VERSION }}.7z \ | |
| RIPTOPL.7z \ | |
| RIPTOPL-VARIANTS.7z \ | |
| RIPTOPL-LANGS.7z \ | |
| RIPTOPL.ELF \ | |
| > SHA256SUMS.txt | |
| cat SHA256SUMS.txt | |
| # NOTE: ALL release publishing -- the master "rolling" prerelease AND the per-version v* tag | |
| # release -- is now handled by rolling-release.yml with identical packaging. This workflow only | |
| # builds (CI) + uploads run artifacts; the v* release-cut below is retired (if: false). | |
| - name: Create release | |
| if: false # retired -- rolling-release.yml now cuts v* releases (unified packaging) | |
| run: | | |
| PRERELEASE_FLAG="" | |
| if [[ "${GITHUB_REF}" == *"-rc"* ]]; then | |
| PRERELEASE_FLAG="--prerelease" | |
| fi | |
| gh release create "${{ github.ref_name }}" \ | |
| RIPTOPL-${{ env.OPL_VERSION }}.7z \ | |
| RIPTOPL-VARIANTS-${{ env.OPL_VERSION }}.7z \ | |
| RIPTOPL-LANGS-${{ env.OPL_VERSION }}.7z \ | |
| RIPTOPL.7z \ | |
| RIPTOPL-VARIANTS.7z \ | |
| RIPTOPL-LANGS.7z \ | |
| RIPTOPL.ELF \ | |
| SHA256SUMS.txt \ | |
| --title "${{ env.OPL_VERSION }}" \ | |
| --notes "" \ | |
| ${PRERELEASE_FLAG} | |
| # - name: Upload pre-release to Mega | |
| # if: github.ref == 'refs/heads/master' && env.USERNAME != null | |
| # uses: Difegue/action-megacmd@master | |
| # with: | |
| # args: put -c RIPTOPL.7z /OPL/Pre-Release/${{ env.OPL_VERSION }}/run_${{ github.run_number }}/ | |
| # | |
| # - name: Upload release to Mega | |
| # if: startsWith(github.ref, 'refs/tags/v') && env.USERNAME != null | |
| # uses: Difegue/action-megacmd@master | |
| # with: | |
| # args: put -c RIPTOPL.7z /OPL/Release/${{ env.OPL_VERSION }}/ |