s #1706
This file contains 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] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Download ps2dev artifact | |
run: | | |
curl -L -o ps2dev-ubuntu-latest.tar.gz "https://github.com/KrahJohlito/ps2dev/releases/download/2023-latest/ps2dev-ubuntu-latest.tar.gz" | |
tar -xzf ps2dev-ubuntu-latest.tar.gz -C $GITHUB_WORKSPACE | |
- name: Set environment variables | |
run: | | |
echo "PS2DEV=${{ github.workspace }}/ps2dev" >> $GITHUB_ENV | |
echo "PS2SDK=${{ github.workspace }}/ps2dev/ps2sdk" >> $GITHUB_ENV | |
echo "GSKIT=${{ github.workspace }}/ps2dev/gsKit" >> $GITHUB_ENV | |
echo "PATH=${{ github.workspace }}/ps2dev/bin:${{ github.workspace }}/ps2dev/ee/bin:${{ github.workspace }}/ps2dev/iop/bin:${{ github.workspace }}/ps2dev/dvp/bin:${{ github.workspace }}/ps2dev/ps2sdk/bin:$PATH" >> $GITHUB_ENV | |
echo "PS2PACKERSTUBPATH=${{ github.workspace }}/ps2dev/share/ps2-packer/stub" >> $GITHUB_ENV | |
# why? idk ps2-packer is a pain in the balls | |
- name: Move lzma-packer.so to root directory | |
run: | | |
cp $GITHUB_WORKSPACE/ps2dev/share/ps2-packer/module/lzma-packer.so $GITHUB_WORKSPACE/lzma-packer.so | |
- name: Compile -> make clean release | |
run: make --trace clean release | |
- name: Create detailed changelog | |
run: sh ./make_changelog.sh | |
- name: Upload release artifact ELF | |
if: ${{ success() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: OPNPS2LD | |
path: | | |
OPNPS2LD-*.ELF | |
- name: Upload release artifact info | |
if: ${{ success() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: INFO | |
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 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Download ps2dev artifact | |
run: | | |
curl -L -o ps2dev-ubuntu-latest.tar.gz "https://github.com/KrahJohlito/ps2dev/releases/download/2023-latest/ps2dev-ubuntu-latest.tar.gz" | |
tar -xzf ps2dev-ubuntu-latest.tar.gz -C $GITHUB_WORKSPACE | |
- name: Set environment variables | |
run: | | |
echo "PS2DEV=${{ github.workspace }}/ps2dev" >> $GITHUB_ENV | |
echo "PS2SDK=${{ github.workspace }}/ps2dev/ps2sdk" >> $GITHUB_ENV | |
echo "GSKIT=${{ github.workspace }}/ps2dev/gsKit" >> $GITHUB_ENV | |
echo "PATH=${{ github.workspace }}/ps2dev/bin:${{ github.workspace }}/ps2dev/ee/bin:${{ github.workspace }}/ps2dev/iop/bin:${{ github.workspace }}/ps2dev/dvp/bin:${{ github.workspace }}/ps2dev/ps2sdk/bin:$PATH" >> $GITHUB_ENV | |
- 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 OPNPS2LD-${{ 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@v4 | |
with: | |
name: OPNPS2LD-VARIANTS-${{ matrix.pademu }}-${{ matrix.extra }} | |
path: OPNPS2LD*.ELF | |
merge-variants: | |
runs-on: ubuntu-latest | |
needs: build-variants | |
steps: | |
- name: Merge Artifacts | |
uses: actions/upload-artifact/merge@v4 | |
with: | |
name: OPNPS2LD-VARIANTS | |
pattern: OPNPS2LD-VARIANTS* | |
delete-merged: true | |
build-lang: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Download ps2dev artifact | |
run: | | |
curl -L -o ps2dev-ubuntu-latest.tar.gz "https://github.com/KrahJohlito/ps2dev/releases/download/2023-latest/ps2dev-ubuntu-latest.tar.gz" | |
tar -xzf ps2dev-ubuntu-latest.tar.gz -C $GITHUB_WORKSPACE | |
- name: Set environment variables | |
run: | | |
echo "PS2DEV=${{ github.workspace }}/ps2dev" >> $GITHUB_ENV | |
echo "PS2SDK=${{ github.workspace }}/ps2dev/ps2sdk" >> $GITHUB_ENV | |
echo "GSKIT=${{ github.workspace }}/ps2dev/gsKit" >> $GITHUB_ENV | |
echo "PATH=${{ github.workspace }}/ps2dev/bin:${{ github.workspace }}/ps2dev/ee/bin:${{ github.workspace }}/ps2dev/iop/bin:${{ github.workspace }}/ps2dev/dvp/bin:${{ github.workspace }}/ps2dev/ps2sdk/bin:$PATH" >> $GITHUB_ENV | |
- 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@v4 | |
with: | |
name: OPNPS2LD-LANGS | |
path: | | |
OPNPS2LD-LANGS-*.zip | |
build-debug: | |
strategy: | |
fail-fast: false | |
matrix: | |
debug: [iopcore_debug, ingame_debug, eesio_debug, DTL_T10000=1] | |
container_commit: [":main"] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Download ps2dev artifact | |
run: | | |
curl -L -o ps2dev-ubuntu-latest.tar.gz "https://github.com/KrahJohlito/ps2dev/releases/download/2023-latest/ps2dev-ubuntu-latest.tar.gz" | |
tar -xzf ps2dev-ubuntu-latest.tar.gz -C $GITHUB_WORKSPACE | |
- name: Set environment variables | |
run: | | |
echo "PS2DEV=${{ github.workspace }}/ps2dev" >> $GITHUB_ENV | |
echo "PS2SDK=${{ github.workspace }}/ps2dev/ps2sdk" >> $GITHUB_ENV | |
echo "GSKIT=${{ github.workspace }}/ps2dev/gsKit" >> $GITHUB_ENV | |
echo "PATH=${{ github.workspace }}/ps2dev/bin:${{ github.workspace }}/ps2dev/ee/bin:${{ github.workspace }}/ps2dev/iop/bin:${{ github.workspace }}/ps2dev/dvp/bin:${{ github.workspace }}/ps2dev/ps2sdk/bin:$PATH" >> $GITHUB_ENV | |
echo "PS2PACKERSTUBPATH=${{ github.workspace }}/ps2dev/share/ps2-packer/stub" >> $GITHUB_ENV | |
# why? idk ps2-packer is a pain in the balls | |
- name: Move lzma-packer.so to root directory | |
run: | | |
cp $GITHUB_WORKSPACE/ps2dev/share/ps2-packer/module/lzma-packer.so $GITHUB_WORKSPACE/lzma-packer.so | |
- 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 variants artifact ELF | |
uses: actions/upload-artifact@v4 | |
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: Merge Artifacts | |
uses: actions/upload-artifact/merge@v4 | |
with: | |
name: OPNPS2LD-DEBUG | |
pattern: opl-* | |
delete-merged: true | |
release: | |
needs: [build, build-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 }} | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v4 | |
- 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: Download all artifacts | |
uses: actions/download-artifact@v4 | |
- name: Prepare artifacts for release | |
run: | | |
echo packing release of OPL ${{ env.OPL_VERSION }} | |
cp INFO/* OPNPS2LD/ | |
cp INFO/* OPNPS2LD-VARIANTS/ | |
7z a -t7z OPNPS2LD-${{ env.OPL_VERSION }}.7z OPNPS2LD/* | |
7z a -t7z OPNPS2LD-VARIANTS-${{ env.OPL_VERSION }}.7z OPNPS2LD-VARIANTS/* | |
7z a -t7z OPNPS2LD-LANGS-${{ env.OPL_VERSION }}.7z OPNPS2LD-LANGS/* | |
cp -f OPNPS2LD-${{ env.OPL_VERSION }}.7z OPNPS2LD.7z | |
cp -f OPNPS2LD-VARIANTS-${{ env.OPL_VERSION }}.7z OPNPS2LD-VARIANTS.7z | |
cp -f OPNPS2LD-LANGS-${{ env.OPL_VERSION }}.7z OPNPS2LD-LANGS.7z | |
- name: Create prerelease | |
if: github.ref == 'refs/heads/master' | |
uses: mathieucarbou/marvinpinto-action-automatic-releases@latest | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
prerelease: true | |
automatic_release_tag: "latest" | |
title: "${{ steps.version.outputs.version }}" | |
files: | | |
OPNPS2LD-${{ env.OPL_VERSION }}.7z | |
OPNPS2LD-VARIANTS-${{ env.OPL_VERSION }}.7z | |
OPNPS2LD-LANGS-${{ env.OPL_VERSION }}.7z | |
OPNPS2LD.7z | |
OPNPS2LD-VARIANTS.7z | |
OPNPS2LD-LANGS.7z | |
- name: Create release | |
if: startsWith(github.ref, 'refs/tags/v') | |
uses: mathieucarbou/marvinpinto-action-automatic-releases@latest | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
prerelease: "${{ contains(github.ref, '-rc') }}" | |
title: "${{ env.OPL_VERSION }}" | |
files: | | |
OPNPS2LD-${{ env.OPL_VERSION }}.7z | |
OPNPS2LD-VARIANTS-${{ env.OPL_VERSION }}.7z | |
OPNPS2LD-LANGS-${{ env.OPL_VERSION }}.7z | |
OPNPS2LD.7z | |
OPNPS2LD-VARIANTS.7z | |
OPNPS2LD-LANGS.7z |