mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2024-11-30 03:25:47 -05:00
93a270fba5
Bugfix/combo fixes cancel builds if there's a new one queued get list of current runs on current-branch push test comment out if merge wrap in string actions permissions log more log cancel runs test write permission uncomment pr merge check
136 lines
4.4 KiB
YAML
136 lines
4.4 KiB
YAML
name: build-upload
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
create-nightly-html5:
|
|
runs-on: [self-hosted, linux]
|
|
container: ubuntu:23.10
|
|
steps:
|
|
- name: Install tools missing in container
|
|
run: |
|
|
apt update
|
|
apt install -y sudo git curl unzip
|
|
- name: Fix git config on posix runner
|
|
# this can't be {{ github.workspace }} because that's not docker-aware
|
|
run: |
|
|
git config --global --add safe.directory $GITHUB_WORKSPACE
|
|
- name: Get checkout token
|
|
uses: actions/create-github-app-token@v1
|
|
id: app_token
|
|
with:
|
|
app-id: ${{ vars.APP_ID }}
|
|
private-key: ${{ secrets.APP_PEM }}
|
|
owner: ${{ github.repository_owner }}
|
|
- name: Checkout repo
|
|
uses: funkincrew/ci-checkout@v6
|
|
with:
|
|
submodules: 'recursive'
|
|
token: ${{ steps.app_token.outputs.token }}
|
|
- name: Install Haxe, dependencies
|
|
uses: ./.github/actions/setup-haxeshit
|
|
- name: Install native dependencies
|
|
run: |
|
|
apt install -y \
|
|
libx11-dev libxi-dev libxext-dev libxinerama-dev libxrandr-dev \
|
|
libgl-dev libgl1-mesa-dev \
|
|
libasound2-dev
|
|
- name: Build game
|
|
run: |
|
|
haxelib run lime build html5 -release --times -DGITHUB_BUILD
|
|
- name: Upload build artifacts
|
|
uses: ./.github/actions/upload-itch
|
|
with:
|
|
butler-key: ${{ secrets.BUTLER_API_KEY}}
|
|
build-dir: export/release/html5/bin
|
|
target: html5
|
|
create-nightly-win:
|
|
runs-on: [self-hosted, windows]
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
- name: Get checkout token
|
|
uses: actions/create-github-app-token@v1
|
|
id: app_token
|
|
with:
|
|
app-id: ${{ vars.APP_ID }}
|
|
private-key: ${{ secrets.APP_PEM }}
|
|
owner: ${{ github.repository_owner }}
|
|
- name: Checkout repo
|
|
uses: funkincrew/ci-checkout@v6
|
|
with:
|
|
submodules: 'recursive'
|
|
token: ${{ steps.app_token.outputs.token }}
|
|
- name: Install Haxe, dependencies
|
|
uses: ./.github/actions/setup-haxeshit
|
|
- name: Setup build cache
|
|
run: |
|
|
mkdir -p ${{ runner.temp }}/hxcpp_cache
|
|
- name: Restore build cache
|
|
id: cache-build-win
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
export
|
|
${{ runner.temp }}/hxcpp_cache
|
|
key: ${{ runner.os }}-build-win-${{ github.ref_name }}
|
|
- name: Build game
|
|
run: |
|
|
haxelib run lime build windows -v -release -DGITHUB_BUILD
|
|
env:
|
|
HXCPP_COMPILE_CACHE: "${{ runner.temp }}\\hxcpp_cache"
|
|
- name: Upload build artifacts
|
|
uses: ./.github/actions/upload-itch
|
|
with:
|
|
butler-key: ${{ secrets.BUTLER_API_KEY }}
|
|
build-dir: export/release/windows/bin
|
|
target: win
|
|
create-nightly-mac:
|
|
runs-on: [self-hosted, macos]
|
|
steps:
|
|
- name: Fix git config on posix runner
|
|
# this can't be {{ github.workspace }} because that's not docker-aware
|
|
run: |
|
|
git config --global --add safe.directory $GITHUB_WORKSPACE
|
|
- name: Get checkout token
|
|
uses: actions/create-github-app-token@v1
|
|
id: app_token
|
|
with:
|
|
app-id: ${{ vars.APP_ID }}
|
|
private-key: ${{ secrets.APP_PEM }}
|
|
owner: ${{ github.repository_owner }}
|
|
- name: Checkout repo
|
|
uses: funkincrew/ci-checkout@v6
|
|
with:
|
|
submodules: 'recursive'
|
|
token: ${{ steps.app_token.outputs.token }}
|
|
- name: Install Haxe, dependencies
|
|
uses: ./.github/actions/setup-haxeshit
|
|
- name: Setup build cache
|
|
run: |
|
|
mkdir -p ${{ runner.temp }}/hxcpp_cache
|
|
- name: Restore build cache
|
|
id: cache-build-win
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
export
|
|
${{ runner.temp }}/hxcpp_cache
|
|
key: ${{ runner.os }}-build-mac-${{ github.ref_name }}
|
|
- name: Build game
|
|
run: |
|
|
haxelib run lime build macos -release --times -DGITHUB_BUILD
|
|
env:
|
|
HXCPP_COMPILE_CACHE: "${{ runner.temp }}/hxcpp_cache"
|
|
- name: Upload build artifacts
|
|
uses: ./.github/actions/upload-itch
|
|
with:
|
|
butler-key: ${{ secrets.BUTLER_API_KEY}}
|
|
build-dir: export/release/macos/bin
|
|
target: macos
|