Skip to content
This repository has been archived by the owner on Nov 14, 2024. It is now read-only.

Commit

Permalink
Try to create better artifacts.
Browse files Browse the repository at this point in the history
  • Loading branch information
fire committed Oct 27, 2024
1 parent 386f505 commit 7e47c04
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 50 deletions.
113 changes: 63 additions & 50 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:

jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-latest
permissions:
pull-requests: write
actions: write
Expand All @@ -30,7 +30,7 @@ jobs:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.platform }}-${{ matrix.target }}
cancel-in-progress: true

steps:
- name: Set up dependencies
run: dnf install -y just git
Expand All @@ -43,67 +43,80 @@ jobs:
if: always()
with:
path: |
.scons_cache
emsdk
osxcross
jdk
android_sdk
vulkan_sdk
.scons_cache
emsdk
osxcross
jdk
android_sdk
vulkan_sdk
mingw
key: ${{ env.CACHE_NAME }}-${{ env.GODOT_BASE_BRANCH }}-${{ github.ref }}-${{ github.sha }}-${{ matrix.platform }}-${{ matrix.target }}
restore-keys: |
${{ env.CACHE_NAME }}-${{ env.GODOT_BASE_BRANCH }}-${{ github.ref }}-${{ github.sha }}-${{ matrix.platform }}-${{ matrix.target }}
${{ env.CACHE_NAME }}-${{ env.GODOT_BASE_BRANCH }}-${{ github.ref }}-${{ github.sha }}
${{ env.CACHE_NAME }}-${{ env.GODOT_BASE_BRANCH }}-${{ github.ref }}
${{ env.CACHE_NAME }}-${{ env.GODOT_BASE_BRANCH }}-refs/heads/${{ env.GODOT_BASE_BRANCH }}
${{ env.CACHE_NAME }}-${{ env.GODOT_BASE_BRANCH }}-${{ github.ref }}-${{ github.sha }}-${{ matrix.platform }}-${{ matrix.target }}
${{ env.CACHE_NAME }}-${{ env.GODOT_BASE_BRANCH }}-${{ github.ref }}-${{ github.sha }}
${{ env.CACHE_NAME }}-${{ env.GODOT_BASE_BRANCH }}-${{ github.ref }}
${{ env.CACHE_NAME }}-${{ env.GODOT_BASE_BRANCH }}-refs/heads/${{ env.GODOT_BASE_BRANCH }}
${{ env.CACHE_NAME }}-${{ env.GODOT_BASE_BRANCH }}
- uses: bencherdev/bencher@main

- name: Fetch dependencies and Build Platform Target
run: |
just install_packages
export PLATFORM_ARGS=""
case "${{ matrix.platform }}" in
android)
PLATFORM_ARGS="fetch-openjdk setup-android-sdk"
;;
web)
PLATFORM_ARGS="setup-emscripten"
;;
windows)
PLATFORM_ARGS="fetch-llvm-mingw"
;;
macos)
PLATFORM_ARGS="build-osxcross fetch-vulkan-sdk"
;;
*)
PLATFORM_ARGS="nil"
;;
esac
bencher run \
--project 'v-sekai-world' \
--adapter shell_hyperfine \
--branch '${{ github.event_name == 'pull_request' && github.head_ref || github.ref }}' \
--testbed ubuntu-latest \
--threshold-measure latency \
--threshold-test t_test \
--threshold-max-sample-size 64 \
--threshold-upper-boundary 0.99 \
--thresholds-reset \
--ci-id ${{ runner.os }}-scons-${{ matrix.platform }}-${{ matrix.target }} \
--err \
--token '${{ secrets.BENCHER_API_TOKEN }}' \
--github-actions '${{ secrets.GITHUB_TOKEN }}' \
--ci-only-on-alert \
--file results.json \
"hyperfine --show-output --runs 1 --export-json results.json 'just $PLATFORM_ARGS && just build-platform-target ${{ matrix.platform }} ${{ matrix.target }}'"
just install_packages
export PLATFORM_ARGS=""
case "${{ matrix.platform }}" in
android)
PLATFORM_ARGS="fetch-openjdk setup-android-sdk"
;;
web)
PLATFORM_ARGS="setup-emscripten"
;;
windows)
PLATFORM_ARGS="fetch-llvm-mingw"
;;
macos)
PLATFORM_ARGS="build-osxcross fetch-vulkan-sdk"
;;
*)
PLATFORM_ARGS="nil"
;;
esac
bencher run \
--project 'v-sekai-world' \
--ignore-failure \
--adapter shell_hyperfine \
--branch '${{ github.event_name == 'pull_request' && github.head_ref || github.ref }}' \
--testbed ubuntu-latest \
--threshold-measure latency \
--threshold-test t_test \
--threshold-max-sample-size 64 \
--threshold-upper-boundary 0.99 \
--thresholds-reset \
--ci-id ${{ runner.os }}-scons-${{ matrix.platform }}-${{ matrix.target }} \
--err \
--token '${{ secrets.BENCHER_API_TOKEN }}' \
--github-actions '${{ secrets.GITHUB_TOKEN }}' \
--ci-only-on-alert \
--file results.json \
"hyperfine --show-output --runs 1 --export-json results.json 'just $PLATFORM_ARGS && just build-platform-target ${{ matrix.platform }} ${{ matrix.target }}'"
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: build-${{ matrix.platform }}-${{ matrix.target }}
path: godot/bin/*


- name: Upload TPZ File
uses: actions/upload-artifact@v4
with:
name: Godot.tpz
path: tpz

- name: Upload Godot Editor Files
uses: actions/upload-artifact@v4
with:
name: Godot
path: editor

merge:
runs-on: ubuntu-latest
needs: build
Expand All @@ -112,4 +125,4 @@ jobs:
uses: actions/upload-artifact/merge@v4
with:
name: v-sekai-world
delete-merged: true
delete-merged: true
7 changes: 7 additions & 0 deletions Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,13 @@ build-platform-target platform target:
debug_symbol=yes \
$EXTRA_FLAGS
just handle-special-cases {{platform}} {{target}}
if [[ "{{target}}" == "editor" ]]; then
mkdir -p $WORLD_PWD/editors
mv bin/* $WORLD_PWD/editors
elif [[ "{{target}}" =~ template_* ]]; then
mkdir -p $WORLD_PWD/tpz
mv bin/* $WORLD_PWD/tpz
fi
all-build-platform-target:
#!/usr/bin/env bash
Expand Down

0 comments on commit 7e47c04

Please sign in to comment.