X2P Makefile #16
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 | |
container: ghcr.io/ps2homebrew/ps2homebrew:main | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
- run: | | |
git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
git fetch --prune --unshallow | |
- 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@v3 | |
with: | |
name: X2P | |
path: | | |
X2P-*.ELF | |
- name: Upload release artifact info | |
if: ${{ success() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: INFO | |
path: | | |
DETAILED_CHANGELOG | |
CREDITS | |
LICENSE | |
README.md | |
build-variants: | |
strategy: | |
fail-fast: false | |
matrix: | |
rtl: [RTL=0, RTL=1] | |
pademu: [PADEMU=0, PADEMU=1] | |
igs: [IGS=0, IGS=1] | |
t10k: [DTL_T10000=0, DTL_T10000=1] | |
runs-on: ubuntu-latest | |
container: ghcr.io/ps2homebrew/ps2homebrew:main | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
- 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.t10k }} ${{ matrix.igs }} ${{ matrix.pademu }} ${{ matrix.rtl }} NOT_PACKED=1 | |
run: | | |
make --trace ${{ matrix.t10k }} ${{ matrix.igs }} ${{ matrix.pademu }} ${{ matrix.rtl }} NOT_PACKED=1 | |
mv X2P.elf X2P-${{ env.OPL_VERSION }}-${{ matrix.t10k }}-${{ matrix.igs }}-${{ matrix.pademu }}-${{ matrix.rtl }}.ELF | |
- name: Create detailed changelog | |
run: sh ./make_changelog.sh | |
- name: Upload variants artifact ELF | |
uses: actions/upload-artifact@v3 | |
with: | |
name: X2P-VARIANTS | |
path: X2P*.ELF | |
build-lang: | |
runs-on: ubuntu-latest | |
container: ghcr.io/ps2homebrew/ps2homebrew:main | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
- 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@v3 | |
with: | |
name: X2P-LANGS | |
path: | | |
X2P-LANGS-*.zip | |
build-debug: | |
strategy: | |
fail-fast: false | |
matrix: | |
debug: [debug, iopcore_debug, ingame_debug, deci2_debug, eesio_debug] | |
runs-on: ubuntu-latest | |
container: ghcr.io/ps2homebrew/ps2homebrew:main | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
- 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 debug | |
run: | | |
make ${{ matrix.debug }} --trace | |
mv X2P.elf X2P-${{ matrix.debug }}.elf | |
- name: Upload variants artifact ELF | |
uses: actions/upload-artifact@v3 | |
with: | |
name: X2P-debug-${{ env.OPL_VERSION }}-${{ matrix.docker }} | |
path: X2P-*.elf | |
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@v3 | |
- run: git fetch --prune --unshallow | |
- name: Get version | |
run: | | |
echo "OPL_VERSION=$(make oplversion)" >> $GITHUB_ENV | |
- name: Download all artifacts | |
uses: actions/download-artifact@v3 | |
- name: Prepare artifacts for release | |
run: | | |
echo packing release of X2P ${{ env.OPL_VERSION }} | |
cp INFO/* X2P/ | |
cp INFO/* X2P-VARIANTS/ | |
7z a -t7z X2P-${{ env.OPL_VERSION }}.7z X2P/* | |
7z a -t7z X2P-VARIANTS-${{ env.OPL_VERSION }}.7z X2P-VARIANTS/* | |
7z a -t7z X2P-LANGS-${{ env.OPL_VERSION }}.7z X2P-LANGS/* | |
cp -f X2P-${{ env.OPL_VERSION }}.7z X2P.7z | |
cp -f X2P-VARIANTS-${{ env.OPL_VERSION }}.7z X2P-VARIANTS.7z | |
cp -f X2P-LANGS-${{ env.OPL_VERSION }}.7z X2P-LANGS.7z | |
- name: Create prerelease | |
if: github.ref == 'refs/heads/master' | |
uses: marvinpinto/action-automatic-releases@latest | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
prerelease: true | |
automatic_release_tag: "latest" | |
title: "${{ steps.version.outputs.version }}" | |
files: | | |
X2P-${{ env.OPL_VERSION }}.7z | |
X2P-VARIANTS-${{ env.OPL_VERSION }}.7z | |
X2P-LANGS-${{ env.OPL_VERSION }}.7z | |
X2P.7z | |
X2P-VARIANTS.7z | |
X2P-LANGS.7z | |
- name: Create release | |
if: startsWith(github.ref, 'refs/tags/v') | |
uses: marvinpinto/action-automatic-releases@latest | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
prerelease: "${{ contains(github.ref, '-rc') }}" | |
title: "${{ env.OPL_VERSION }}" | |
files: | | |
X2P-${{ env.OPL_VERSION }}.7z | |
X2P-VARIANTS-${{ env.OPL_VERSION }}.7z | |
X2P-LANGS-${{ env.OPL_VERSION }}.7z | |
X2P.7z | |
X2P-VARIANTS.7z | |
X2P-LANGS.7z | |