Skip to content

fix(vcd): revert the MX4SIO mx4sio:/ selector -- POPSTARTER ignores t… #776

fix(vcd): revert the MX4SIO mx4sio:/ selector -- POPSTARTER ignores t…

fix(vcd): revert the MX4SIO mx4sio:/ selector -- POPSTARTER ignores t… #776

Workflow file for this run

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 }}/