Updating CI/CD #193
Workflow file for this run
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 | |
on: | |
push: | |
pull_request: | |
repository_dispatch: | |
types: [run_build] | |
jobs: | |
build-docker: | |
runs-on: ubuntu-latest | |
container: ${{ matrix.os[0] }}:${{ matrix.os[1] }} | |
strategy: | |
matrix: | |
os: [ | |
[alpine, 3.16], | |
[fedora, latest], | |
] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies Alpine | |
if: matrix.os[0] == 'alpine' | |
run: | | |
apk add --no-cache build-base bash gcc git make autoconf automake python3 py3-pip cmake pkgconfig libarchive-dev openssl-dev gpgme-dev \ | |
libtool flex bison texinfo gmp-dev mpfr-dev mpc1-dev readline-dev ncurses-dev | |
- name: Install dependencies Fedora | |
if: matrix.os[0] == 'fedora' | |
run: | | |
dnf -y install @development-tools gcc gcc-c++ g++ wget git autoconf automake python3 python3-pip make cmake pkgconf \ | |
libarchive-devel openssl-devel gpgme-devel libtool gettext texinfo bison flex gmp-devel mpfr-devel libmpc-devel ncurses-devel \ | |
diffutils glibc-gconv-extra xz | |
- name: Compile Tools | |
run: | | |
export PSPDEV=$PWD/pspdev | |
export PATH=$PATH:$PSPDEV/bin | |
./toolchain.sh | |
- name: Get short SHA | |
id: slug | |
run: echo "sha8=$(echo ${GITHUB_SHA} | cut -c1-8)" >> $GITHUB_OUTPUT | |
- name: Compress pspdev folder | |
run: | | |
tar -zcvf pspdev.tar.gz pspdev | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: pspdev-${{ steps.slug.outputs.sha8 }}-${{ matrix.os[0] }} | |
path: pspdev.tar.gz | |
build-VM: | |
runs-on: ${{ matrix.os[0] }} | |
strategy: | |
matrix: | |
os: [ | |
[macos-latest, arm64, bash], | |
[macos-13, x86_64, bash], | |
[ubuntu-latest, x86_64, bash], | |
] | |
fail-fast: false | |
defaults: | |
run: | |
shell: ${{ matrix.os[2] }} {0} | |
steps: | |
- uses: actions/checkout@v4 | |
- name : Install dependencies on required OS | |
run: | | |
./prepare.sh | |
- 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 | |
export PATH=$PATH:$PSPDEV/bin | |
./toolchain.sh | |
- name: Get short SHA | |
id: slug | |
run: echo "sha8=$(echo ${GITHUB_SHA} | cut -c1-8)" >> $GITHUB_OUTPUT | |
- name: Compress pspdev folder | |
run: | | |
tar -zcvf pspdev.tar.gz pspdev | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: pspdev-${{ steps.slug.outputs.sha8 }}-${{ matrix.os[0] }}-${{ matrix.os[1] }} | |
path: pspdev.tar.gz |