diff --git a/.github/actions/setup-haxeshit/action.yml b/.github/actions/setup-haxeshit/action.yml index ad9c06286..9c1fae0b1 100644 --- a/.github/actions/setup-haxeshit/action.yml +++ b/.github/actions/setup-haxeshit/action.yml @@ -3,9 +3,9 @@ description: "sets up haxe shit, using HMM!" runs: using: "composite" steps: - - uses: funkincrew/ci-haxe@v2 + - uses: funkincrew/ci-haxe@v3 with: - haxe-version: 4.3.1 + haxe-version: 4.3.3 - name: Config haxelib run: | haxelib config @@ -19,7 +19,7 @@ runs: shell: bash - name: dependency install cache id: cache-hmm - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: .haxelib key: ${{ runner.os }}-hmm-${{ hashFiles('**/hmm.json') }} diff --git a/.github/actions/upload-itch/action.yml b/.github/actions/upload-itch/action.yml index 7a4b45427..2f7d3027d 100644 --- a/.github/actions/upload-itch/action.yml +++ b/.github/actions/upload-itch/action.yml @@ -13,32 +13,32 @@ inputs: runs: using: "composite" steps: - - name: Install butler Windows - if: runner.os == 'Windows' - run: | - curl -L -o butler.zip https://broth.itch.ovh/butler/windows-amd64/LATEST/archive/default - 7z x butler.zip - ./butler -v - shell: bash - - name: Install butler Mac - if: runner.os == 'macOS' - run: | - curl -L -o butler.zip https://broth.itch.ovh/butler/darwin-amd64/LATEST/archive/default - unzip butler.zip - ./butler -V - shell: bash - - name: Install butler Linux - if: runner.os == 'Linux' - run: | - curl -L -o butler.zip https://broth.itch.ovh/butler/linux-amd64/LATEST/archive/default - unzip butler.zip - chmod +x butler - ./butler -V - shell: bash - - name: Upload game to itch.io - env: - BUTLER_API_KEY: ${{inputs.butler-key}} - run: | - ./butler login - ./butler push ${{inputs.build-dir}} ninja-muffin24/funkin-secret:${{inputs.target}}-${GITHUB_REF_NAME} - shell: bash + - name: Install butler Windows + if: runner.os == 'Windows' + run: | + curl -L -o butler.zip https://broth.itch.ovh/butler/windows-amd64/LATEST/archive/default + 7z x butler.zip + ./butler -v + shell: bash + - name: Install butler Mac + if: runner.os == 'macOS' + run: | + curl -L -o butler.zip https://broth.itch.ovh/butler/darwin-amd64/LATEST/archive/default + unzip butler.zip + ./butler -V + shell: bash + - name: Install butler Linux + if: runner.os == 'Linux' + run: | + curl -L -o butler.zip https://broth.itch.ovh/butler/linux-amd64/LATEST/archive/default + unzip butler.zip + chmod +x butler + ./butler -V + shell: bash + - name: Upload game to itch.io + env: + BUTLER_API_KEY: ${{inputs.butler-key}} + run: | + ./butler login + ./butler push ${{inputs.build-dir}} ninja-muffin24/funkin-secret:${{inputs.target}}-${GITHUB_REF_NAME} + shell: bash diff --git a/.github/workflows/build-shit.yml b/.github/workflows/build-shit.yml index 301cedcef..76126d106 100644 --- a/.github/workflows/build-shit.yml +++ b/.github/workflows/build-shit.yml @@ -4,56 +4,14 @@ on: push: jobs: - check_date: - runs-on: [self-hosted, linux] - container: ubuntu:latest - name: Check latest commit - outputs: - should_run: ${{ steps.should_run.outputs.should_run }} - steps: - - name: ensure git cli is installed - run: apt update && apt install sudo git -y - - name: get token from gh app - 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@v5 - with: - submodules: 'recursive' - token: ${{ steps.app_token.outputs.token }} - - name: check whether submodules exist - run: | - git config --global --add safe.directory $GITHUB_WORKSPACE - - # debug output - echo gh=${{ github.sha }} - echo head=$(git rev-parse HEAD) - echo art=$(git -C art rev-parse HEAD) - echo assets=$(git -C assets rev-parse HEAD) - - # checks if HEAD commit hash in submodules is diff from current repo, and therefore exists - test $(git rev-parse HEAD) != $(git -C art rev-parse HEAD) - test $(git rev-parse HEAD) != $(git -C assets rev-parse HEAD) - - id: should_run - continue-on-error: true - name: check latest commit is less than a day - if: ${{ github.event_name == 'schedule' }} - run: test -z $(git rev-list --after="24 hours" ${{ github.sha }}) && echo "::set-output name=should_run::false" create-nightly-html5: - needs: check_date - if: ${{ needs.check_date.outputs.should_run != 'false'}} runs-on: [self-hosted, linux] - container: ubuntu:latest + container: ubuntu:23.10 steps: - name: prepare container run: | apt update apt install sudo git curl unzip -y - echo $GITHUB_WORKSPACE git config --global --add safe.directory $GITHUB_WORKSPACE - name: get token from gh app uses: actions/create-github-app-token@v1 @@ -63,12 +21,12 @@ jobs: private-key: ${{ secrets.APP_PEM }} owner: ${{ github.repository_owner }} - name: checkout repo - uses: funkincrew/ci-checkout@v5 + uses: funkincrew/ci-checkout@v6 with: submodules: 'recursive' token: ${{ steps.app_token.outputs.token }} - uses: ./.github/actions/setup-haxeshit - - name: game build dependencies + - name: gather game dependencies run: | sudo apt-get install -y libx11-dev xorg-dev libgl-dev libxi-dev libxext-dev libasound2-dev libxinerama-dev libxrandr-dev libgl1-mesa-dev - name: build game @@ -81,12 +39,7 @@ jobs: build-dir: export/release/html5/bin target: html5 create-nightly-win: - needs: check_date - if: ${{ needs.check_date.outputs.should_run != 'false'}} runs-on: windows-latest - permissions: - contents: write - actions: write steps: - name: get token from gh app uses: actions/create-github-app-token@v1 @@ -96,7 +49,7 @@ jobs: private-key: ${{ secrets.APP_PEM }} owner: ${{ github.repository_owner }} - name: checkout repo - uses: funkincrew/ci-checkout@v5 + uses: funkincrew/ci-checkout@v6 with: submodules: 'recursive' token: ${{ steps.app_token.outputs.token }} @@ -106,14 +59,14 @@ jobs: mkdir -p ${{ runner.temp }}\hxcpp_cache - name: Restore build cache id: cache-build-win - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | .haxelib export ${{ runner.temp }}\hxcpp_cache key: ${{ runner.os }}-build-win-${{ github.ref_name }}-${{ hashFiles('**/hmm.json') }} - - name: Build game + - name: build game run: | haxelib run lime build windows -release -DNO_REDIRECT_ASSETS_FOLDER dir @@ -125,8 +78,6 @@ jobs: build-dir: export/release/windows/bin target: win create-nightly-mac: - needs: check_date - if: ${{ needs.check_date.outputs.should_run != 'false'}} runs-on: [self-hosted, macos] steps: - name: prepare container @@ -140,7 +91,7 @@ jobs: private-key: ${{ secrets.APP_PEM }} owner: ${{ github.repository_owner }} - name: checkout repo - uses: funkincrew/ci-checkout@v5 + uses: funkincrew/ci-checkout@v6 with: submodules: 'recursive' token: ${{ steps.app_token.outputs.token }} @@ -148,9 +99,9 @@ jobs: - name: Make HXCPP cache dir run: | mkdir -p ${{ runner.temp }}/hxcpp_cache - - name: Restore build cache + - name: restore build cache id: cache-build-win - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | .haxelib @@ -168,20 +119,39 @@ jobs: butler-key: ${{ secrets.BUTLER_API_KEY}} build-dir: export/release/macos/bin target: macos + # test-unit-win: # needs: create-nightly-win # runs-on: windows-latest -# permissions: -# contents: write -# actions: write # steps: -# - uses: funkincrew/ci-checkout@v5 +# - name: get token from gh app +# uses: actions/create-github-app-token@v1 +# id: app_token # with: -# submodules: 'recursive' -# fetch-depth: 0 -# token: ${{ secrets.GH_RO_PAT }} +# 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: Make HXCPP cache dir +# run: | +# mkdir -p ${{ runner.temp }}\hxcpp_cache +# - name: Restore build cache +# id: cache-build-win +# uses: actions/cache@v4 +# with: +# path: | +# .haxelib +# export +# ${{ runner.temp }}\hxcpp_cache +# key: ${{ runner.os }}-test-win-${{ github.ref_name }}-${{ hashFiles('**/hmm.json') }} # - uses: ./.github/actions/setup-haxeshit # - name: Run unit tests # run: | # cd ./tests/unit/ # ./start-win-native.bat +# env: +# HXCPP_COMPILE_CACHE: "${{ runner.temp }}\\hxcpp_cache"