Skip to content

Merge pull request #29 from pspdev/add-dispatch #81

Merge pull request #29 from pspdev/add-dispatch

Merge pull request #29 from pspdev/add-dispatch #81

Workflow file for this run

name: CI
on:
push:
pull_request:
repository_dispatch:
types: [run_build]
jobs:
build:
runs-on: ubuntu-latest
container: alpine:latest
steps:
- name: Install dependencies
run: |
apk add git build-base bash python3 py3-pip cmake pkgconfig libarchive-dev openssl-dev gpgme-dev
- uses: actions/checkout@v4
- name: Compile project
run: |
chown -R $(id -nu):$(id -ng) .
export PSPDEV=$PWD/pspdev
export PATH=$PATH:$PSPDEV/bin
./pacman.sh
export PATH=$PATH:$PSPDEV/bin
psp-pacman -V
psp-makepkg -V
build-VM:
runs-on: ${{ matrix.os[0] }}
strategy:
matrix:
os: [[macos-latest, bash], [ubuntu-latest, bash]]
fail-fast: false
defaults:
run:
shell: ${{ matrix.os[1] }} {0}
steps:
- uses: actions/checkout@v4
- name: Install Ubuntu texinfo bison flex libucl-dev
if: matrix.os[0] == 'ubuntu-latest'
run: |
sudo apt-get -y install texinfo bison flex gettext libgmp3-dev libmpfr-dev libmpc-dev libusb-dev libreadline-dev libcurl4 libcurl4-openssl-dev libssl-dev libarchive-dev libgpgme-dev
echo "MSYSTEM=x64" >> $GITHUB_ENV
- name: Install Mac texinfo bison flex ucl
if: matrix.os[0] == 'macOS-latest'
run: |
brew install gettext texinfo bison flex gnu-sed ncurses gsl gmp mpfr autoconf automake cmake libusb-compat libarchive gpgme bash openssl libtool
gsed -i '/Requires.private: iconv/d' /usr/local/opt/libarchive/lib/pkgconfig/libarchive.pc || true
echo "MSYSTEM=x64" >> $GITHUB_ENV
- name: Compile Tools
run: |
export PATH="$(brew --prefix gnu-sed)/libexec/gnubin:$PATH" # This really is only needed for macOS
export PATH="$(brew --prefix libtool)/libexec/gnubin:$PATH" # This really is only needed for macOS
export PKG_CONFIG_PATH="$(brew --prefix libarchive)/lib/pkgconfig:$(brew --prefix openssl)/lib/pkgconfig" #This really is only needed for macOS
export PSPDEV=$PWD/pspdev
./pacman.sh
export PATH=$PATH:$PSPDEV/bin
psp-pacman -V
psp-makepkg -V
dispatch:
if: contains(github.ref,'refs/heads/master')
needs: [build, build-VM]
runs-on: ubuntu-latest
steps:
- name: Send Compile action
run: |
export DISPATCH_ACTION="$(echo run_build)"
echo "NEW_DISPATCH_ACTION=$DISPATCH_ACTION" >> $GITHUB_ENV
- name: Repository Dispatch to psptoolchain-extra
uses: peter-evans/repository-dispatch@v3
with:
repository: ${{ github.repository_owner }}/psptoolchain-extra
token: ${{ secrets.DISPATCH_TOKEN }}
event-type: ${{ env.NEW_DISPATCH_ACTION }}
client-payload: '{"ref": "${{ github.ref }}"}'