Files
banjo-kazooie/.gitea/workflows/default.yaml

102 lines
3.6 KiB
YAML

name: CI Pipeline
on:
push:
branches:
- main
- master
paths:
- Dockerfile
- packages.txt
- requirements.txt
- .gitea/workflows/main.yml
- tools/**
pull_request:
paths:
- Dockerfile
- packages.txt
- requirements.txt
- .gitea/workflows/main.yml
- tools/**
workflow_dispatch:
jobs:
# build-image:
# name: Build Docker Image
# runs-on: ubuntu-latest
# steps:
# - name: Checkout code
# uses: actions/checkout@v3
# with:
# submodules: recursive
# fetch-depth: 1
# - name: Login to Docker Registry
# run: docker login -u ${{ secrets.CI_USER }} -p ${{ secrets.CI_TOKEN }} ${{ secrets.CI_REGISTRY }}
# - name: Pull existing image (if exists)
# run: docker pull ${{ secrets.CI_REGISTRY_IMAGE }}:${{ github.ref_name }} || true
# - name: Build Docker image
# run: |
# docker build \
# --build-arg BUILDKIT_INLINE_CACHE=1 \
# --cache-from ${{ secrets.CI_REGISTRY_IMAGE }}:${{ github.ref_name }} \
# -t ${{ secrets.CI_REGISTRY_IMAGE }}:${{ github.ref_name }} \
# -t ${{ secrets.CI_REGISTRY_IMAGE }}:latest .
# - name: Push Docker image
# run: docker push --all-tags ${{ secrets.CI_REGISTRY_IMAGE }}
build-test-us10:
name: Test US10 Build
runs-on: ubuntu-latest
needs: build-image
container:
image: ${{ secrets.CI_REGISTRY_IMAGE }}:latest
steps:
- name: Download and decrypt baserom
run: |
curl -L "${{ secrets.BASEROM_US10_URL }}" -o baserom.us.v10.enc.z64
openssl enc -d -aes-256-cbc -in baserom.us.v10.enc.z64 -out baserom.us.v10.z64 -k "${{ secrets.BASEROM_US10_KEY}"
FILE_SHA1=$(sha1sum baserom.us.v10.z64 | awk '{ print $1 }')
echo "Calculated SHA1 - $FILE_SHA1"
echo "Expected SHA1 - ${{ secrets.BASEROM_US10_SHA1 }}"
[ "$FILE_SHA1" != "${{ secrets.BASEROM_US10_SHA1 }}" ] && exit 1 || echo "Checksum verification passed"
- name: Compile
run: make
- name: Verify ROM
run: |
FILE_SHA1=$(sha1sum build/us.v10/banjo.us.v10.z64 | awk '{ print $1 }')
echo "Calculated SHA1 - $FILE_SHA1"
echo "Expected SHA1 - ${{ secrets.BASEROM_US10_SHA1 }}"
[ "$FILE_SHA1" != "${{ secrets.BASEROM_US10_SHA1 }}" ] && exit 1 || echo "Checksum verification passed"
build-test-pal:
name: Test PAL Build
runs-on: ubuntu-latest
needs: build-image
container:
image: ${{ secrets.CI_REGISTRY_IMAGE }}:latest
steps:
- name: Download and decrypt baserom
run: |
curl -L "${{ secrets.BASEROM_PAL_URL }}" -o baserom.pal.enc.z64
openssl enc -d -aes-256-cbc -in baserom.pal.enc.z64 -out baserom.pal.z64 -k "${{ secrets.BASEROM_PAL_KEY}"
FILE_SHA1=$(sha1sum baserom.pal.z64 | awk '{ print $1 }')
echo "Calculated SHA1 - $FILE_SHA1"
echo "Expected SHA1 - ${{ secrets.BASEROM_PAL_SHA1 }}"
[ "$FILE_SHA1" != "${{ secrets.BASEROM_PAL_SHA1 }}" ] && exit 1 || echo "Checksum verification passed"
- name: Compile
run: make VERSION=pal
- name: Verify ROM
run: |
DECOMP_SHA1=$(sha1sum decompressed.pal.z64 | awk '{ print $1 }')
FILE_SHA1=$(sha1sum build/pal/banjo.pal.prelim.z64 | awk '{ print $1 }')
echo "Calculated SHA1 - $FILE_SHA1"
echo "Expected SHA1 - $DECOMP_SHA1"
[ "$FILE_SHA1" != "$DECOMP_SHA1" ] && exit 1 || echo "Checksum verification passed"