Skip to content

run_build

run_build #1940

Workflow file for this run

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@v4
- 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@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
container: ghcr.io/ps2homebrew/ps2homebrew:main
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: 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
container: ghcr.io/ps2homebrew/ps2homebrew:main
steps:
- name: git checkout
uses: actions/checkout@v4
- 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@v4
with:
name: OPNPS2LD-LANGS
path: |
OPNPS2LD-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: [":main", "@sha256:1f00689809455d43b520e4cd4eea00c6be56d71819ae38efc6b55b56464cbd1e"] Replace with desired docker image hash or tag
container_commit: [":main"]
runs-on: ubuntu-latest
container: ghcr.io/ps2homebrew/ps2homebrew${{ matrix.container_commit }}
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
SHORT_COMMIT="${{ matrix.container_commit }}"
# Extract the last 4 characters
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 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
- name: Upload pre-release to Mega
if: github.ref == 'refs/heads/master' && env.USERNAME != null
uses: Difegue/action-megacmd@master
with:
args: put -c OPNPS2LD.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 OPNPS2LD.7z /OPL/Release/${{ env.OPL_VERSION }}/