mirror of
https://github.com/rvtr/GodMode9i.git
synced 2025-11-02 00:11:07 -04:00
77 lines
2.4 KiB
YAML
77 lines
2.4 KiB
YAML
name: Build GodMode9i
|
|
|
|
on:
|
|
push:
|
|
branches: ["*"]
|
|
paths-ignore:
|
|
- 'README.md'
|
|
pull_request:
|
|
branches: ["*"]
|
|
paths-ignore:
|
|
- 'README.md'
|
|
release:
|
|
types: [created]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
container: devkitpro/devkitarm
|
|
name: Build with Docker using devkitARM
|
|
steps:
|
|
- name: Checkout repo
|
|
uses: actions/checkout@v4
|
|
- name: Install tools
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install p7zip-full -y
|
|
- name: Setup environment
|
|
run: git config --global safe.directory '*'
|
|
- name: Build & Package GodMode9i
|
|
id: build
|
|
run: |
|
|
make all dsi
|
|
chmod +x make_cia
|
|
./make_cia --srl="GodMode9i.dsi" --id_0=$(git rev-parse --short=7 HEAD) --tikID=$(git rev-parse --short=16 HEAD)
|
|
mkdir GodMode9i/
|
|
cp GodMode9i.dsi GodMode9i/
|
|
cp GodMode9i.nds GodMode9i/
|
|
cp GodMode9i.cia GodMode9i/
|
|
7z a GodMode9i.7z GodMode9i/
|
|
|
|
mkdir -p ~/artifacts
|
|
cp GodMode9i.dsi ~/artifacts
|
|
cp GodMode9i.nds ~/artifacts
|
|
cp GodMode9i.cia ~/artifacts
|
|
cp GodMode9i.7z ~/artifacts
|
|
- name: Publish build to GH Actions
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
path: ~/artifacts/*
|
|
name: build
|
|
|
|
# Only run this for non-PR jobs.
|
|
publish_build:
|
|
runs-on: ubuntu-latest
|
|
name: Publish build
|
|
if: ${{ success() && !startsWith(github.ref, 'refs/pull') }}
|
|
needs: build
|
|
steps:
|
|
- name: Download artifacts
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: build
|
|
path: build
|
|
- name: Upload to ${{ github.repository }} release
|
|
if: ${{ startsWith(github.ref, 'refs/tags') }}
|
|
run: |
|
|
ID=$(jq --raw-output '.release.id' $GITHUB_EVENT_PATH)
|
|
|
|
for file in ${{ github.workspace }}/build/*; do
|
|
AUTH_HEADER="Authorization: token ${{ secrets.GITHUB_TOKEN }}"
|
|
CONTENT_LENGTH="Content-Length: $(stat -c%s $file)"
|
|
CONTENT_TYPE="Content-Type: application/7z-x-compressed"
|
|
UPLOAD_URL="https://uploads.github.com/repos/${{ github.repository }}/releases/$ID/assets?name=$(basename $file)"
|
|
|
|
curl -XPOST -H "$AUTH_HEADER" -H "$CONTENT_LENGTH" -H "$CONTENT_TYPE" --upload-file "$file" "$UPLOAD_URL"
|
|
done
|