git.y1.nz

gbdk-2020

GameBoy Development Kit
download: https://git.y1.nz/archives/gbdk.tar.gz
README | Files | Log | Refs | LICENSE

.github/workflows/gbdk_build_and_package.yml

      1 name: GBDK Build and Package
      2 
      3 on:
      4   # Allows you to run this workflow manually from the Actions tab
      5   workflow_dispatch:
      6   # Triggers the workflow on push or pull request events but only for the develop branch
      7   # push:
      8   #   branches: [ develop ]
      9   # pull_request:
     10   #   branches: [ develop ]
     11 
     12 jobs:
     13   build:
     14     runs-on: ${{ matrix.os }}
     15     strategy:
     16       matrix:
     17         include:
     18           - os: ubuntu-22.04
     19             name: Linux-x64
     20           - os: ubuntu-22.04-arm
     21             name: Linux-arm64
     22           - os: macos-15-intel
     23             name: MacOS-x64
     24           - os: macos-14
     25             name: MacOS-arm64
     26           - os: windows-2022
     27             name: Windows-x64
     28           - os: windows-2022
     29             name: Windows-x32
     30     steps:
     31 
     32       # ==== OS Specific Dependencies ====
     33       - name: Linux Depends
     34         if: matrix.name == 'Linux-x64'
     35         run: |
     36           curl -Lo sdcc.tar.gz https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/download/gbdk-sdcc-next/sdcc-15267-peeprule-18e-off-Linux-x64.tar.gz
     37           tar xvfz sdcc.tar.gz
     38 
     39       - name: Linux Arm Depends
     40         if: matrix.name == 'Linux-arm64'
     41         run: |
     42           curl -Lo sdcc.tar.gz https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/download/gbdk-sdcc-next/sdcc-15267-peeprule-18e-off-Linux-arm64.tar.gz
     43           tar xvfz sdcc.tar.gz
     44 
     45       - name: MacOS Depends
     46         if: matrix.name == 'MacOS-x64'
     47         run: |
     48           curl -Lo sdcc.tar.gz https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/download/gbdk-sdcc-next/sdcc-15267-peeprule-18e-off-MacOS-x64.tar.gz
     49           tar xvfz sdcc.tar.gz
     50 
     51       - name: MacOS ARM Depends
     52         if: matrix.name == 'MacOS-arm64'
     53         run: |
     54           curl -Lo sdcc.tar.gz https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/download/gbdk-sdcc-next/sdcc-15267-peeprule-18e-off-MacOS-arm64.tar.gz
     55           tar xvfz sdcc.tar.gz
     56 
     57       - name: Windows-x64 Depends
     58         if: matrix.name == 'Windows-x64'
     59         run: |
     60           curl -Lo sdcc.tar.gz https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/download/gbdk-sdcc-next/sdcc-15267-peeprule-18e-off-Win64-On-Linux.tar.gz
     61           7z x sdcc.tar.gz
     62           7z x sdcc.tar
     63 
     64       - name: Windows-x32 Depends
     65         if: matrix.name == 'Windows-x32'
     66         run: |
     67           curl -Lo sdcc.tar.gz https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/download/gbdk-sdcc-next/sdcc-15267-peeprule-18e-off-Win32-On-Linux.tar.gz
     68           7z x sdcc.tar.gz
     69           7z x sdcc.tar
     70 
     71       - name: Windows Depends MSYS2/MinGW64
     72         if: matrix.name == 'Windows-x64'
     73         uses: msys2/setup-msys2@v2
     74         with:
     75           msystem: MINGW64
     76           path-type: minimal #strict
     77           release: false
     78           update: false
     79           install: >-
     80             base-devel
     81             mingw-w64-x86_64-toolchain
     82 
     83       - name: Windows Depends MSYS2/MinGW32
     84         if: matrix.name == 'Windows-x32'
     85         uses: msys2/setup-msys2@v2
     86         with:
     87           msystem: MINGW32
     88           path-type: minimal #strict
     89           release: false
     90           update: false
     91           install: >-
     92             base-devel
     93             mingw-w64-i686-toolchain
     94 
     95       # ==== Build Steps ====
     96       - name: Check out GBDK-2020
     97         uses: actions/checkout@v4
     98         with:
     99           path: gbdk-2020
    100           submodules: false
    101 
    102       # ==== Pre-Build: Set environment vars ====
    103       # Needs to be in a separate step than build so that setting the environment var takes effect
    104       #
    105       - name: Pre-Build Linux x64
    106         if: (matrix.name == 'Linux-x64')
    107         shell: bash
    108         run: |
    109           echo "BUILD_PACKAGE_FILENAME=gbdk-linux64.tar.gz" >> $GITHUB_ENV
    110 
    111       - name: Pre-Build Linux arm64
    112         if: (matrix.name == 'Linux-arm64')
    113         shell: bash
    114         run: |
    115           echo "BUILD_PACKAGE_FILENAME=gbdk-linux-arm64.tar.gz" >> $GITHUB_ENV
    116 
    117       - name: Pre-Build Linux/MacOS
    118         if: (matrix.name == 'MacOS-x64')
    119         shell: bash
    120         run: |
    121           echo "BUILD_PACKAGE_FILENAME=gbdk-macos.tar.gz" >> $GITHUB_ENV
    122 
    123       - name: Pre-Build Linux/MacOS
    124         if: (matrix.name == 'MacOS-arm64')
    125         shell: bash
    126         run: |
    127           echo "BUILD_PACKAGE_FILENAME=gbdk-macos-arm64.tar.gz" >> $GITHUB_ENV
    128 
    129       - name: Pre-Build Windows
    130         if: (matrix.name == 'Windows-x64')
    131         shell: bash
    132         run: |
    133           echo "BUILD_PACKAGE_FILENAME=gbdk-win64.zip" >> $GITHUB_ENV
    134 
    135       - name: Pre-Build Windows
    136         if: (matrix.name == 'Windows-x32')
    137         shell: bash
    138         run: |
    139           echo "BUILD_PACKAGE_FILENAME=gbdk-win32.zip" >> $GITHUB_ENV
    140 
    141       # ==== Builds ====
    142       - name: Build GBDK-2020 Linux/MacOS
    143         if: (matrix.name == 'Linux-x64') || (matrix.name == 'Linux-arm64') || (matrix.name == 'MacOS-x64') || (matrix.name == 'MacOS-arm64')
    144         shell: bash
    145         run: |
    146           export SDCCDIR=`pwd`/sdcc
    147           cd gbdk-2020
    148           make
    149           cd ..
    150 
    151       - name: Build GBDK-2020 Windows
    152         if: (matrix.name == 'Windows-x64') || (matrix.name == 'Windows-x32')
    153         shell: cmd
    154         run: |
    155           set SDCCDIR=%CD%\sdcc
    156           cd gbdk-2020
    157           msys2 -c 'make'
    158           cd ..
    159 
    160       # ==== Packaging ====
    161       - name: Package build Linux/MacOS
    162         if: (matrix.name == 'Linux-x64') || (matrix.name == 'Linux-arm64') || (matrix.name == 'MacOS-x64') || (matrix.name == 'MacOS-arm64')
    163         shell: bash
    164         run: |
    165           cd gbdk-2020
    166           mkdir package
    167           cd build
    168           tar czf ../package/${{ env.BUILD_PACKAGE_FILENAME }} gbdk
    169           cd ..
    170           cd ..
    171 
    172       - name: Package build Windows
    173         if: (matrix.name == 'Windows-x64') || (matrix.name == 'Windows-x32')
    174         shell: cmd
    175         run: |
    176           cd gbdk-2020
    177           mkdir package
    178           cd build
    179           7z a ../package/${{ env.BUILD_PACKAGE_FILENAME }} gbdk
    180           cd ..
    181           cd ..
    182 
    183       - name: Store build
    184         if: (matrix.name == 'Linux-x64') || (matrix.name == 'Linux-arm64') || (matrix.name == 'MacOS-x64') || (matrix.name == 'MacOS-arm64') || ('Windows-x64') || ('Windows-x32')
    185         uses: actions/upload-artifact@v4
    186         with:
    187           name: ${{ matrix.name }} build
    188           path: gbdk-2020/package/${{ env.BUILD_PACKAGE_FILENAME }}
    189           # retention-days: 14

This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.