From cc3ced120cdb83b144f9c19d338cb354d15442e8 Mon Sep 17 00:00:00 2001 From: Spartan322 Date: Sat, 23 Sep 2023 19:40:10 -0400 Subject: Move actions and scripts to separate reusable repos Add `extension/deps/SCsub` --- .github/actions/mingw-cache/action.yml | 18 ------- .github/actions/openvic-build/action.yml | 32 ------------- .github/actions/openvic-cache/action.yml | 22 --------- .github/actions/openvic-env/action.yml | 13 ------ .github/actions/openvic-env/commit-environment.js | 30 ------------ .github/actions/openvic-env/url-environment.sh | 57 ----------------------- .github/workflows/builds.yml | 14 +++--- 7 files changed, 8 insertions(+), 178 deletions(-) delete mode 100644 .github/actions/mingw-cache/action.yml delete mode 100644 .github/actions/openvic-build/action.yml delete mode 100644 .github/actions/openvic-cache/action.yml delete mode 100644 .github/actions/openvic-env/action.yml delete mode 100644 .github/actions/openvic-env/commit-environment.js delete mode 100755 .github/actions/openvic-env/url-environment.sh (limited to '.github') diff --git a/.github/actions/mingw-cache/action.yml b/.github/actions/mingw-cache/action.yml deleted file mode 100644 index e92962d..0000000 --- a/.github/actions/mingw-cache/action.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: Setup MinGW Cache -description: Setup MinGW Cache -inputs: - cache-key: - description: Name for MinGW cache key. - default: "mingw-cache" -runs: - using: "composite" - steps: - # Upload cache on completion and check it out now - - name: Load MinGW Cache - id: cache-mingw - uses: actions/cache@v3 - with: - path: C:\ProgramData\chocolatey\lib\mingw - key: ${{inputs.cache-key}} - - name: Setup MinGW for build - uses: egor-tensin/setup-mingw@v2 \ No newline at end of file diff --git a/.github/actions/openvic-build/action.yml b/.github/actions/openvic-build/action.yml deleted file mode 100644 index a4b3507..0000000 --- a/.github/actions/openvic-build/action.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Build OpenVic Extension -description: Build OpenVic Extension with provided options. -inputs: - target: - description: Build target (editor, template_release, template_debug). - default: "template_release" - platform: - description: Target platform. - required: false - sconsflags: - default: "" - scons-cache: - description: The scons cache path. - default: "${{ github.workspace }}/.scons-cache/" - scons-cache-limit: - description: The scons cache size limit. - # actions/cache has 10 GiB limit, and GitHub runners have a 14 GiB disk. - # Limit to 7 GiB to avoid having the extracted cache fill the disk. - default: 7168 -runs: - using: "composite" - steps: - - name: Scons Build - shell: sh - env: - SCONSFLAGS: ${{ inputs.sconsflags }} - SCONS_CACHE: ${{ inputs.scons-cache }} - SCONS_CACHE_LIMIT: ${{ inputs.scons-cache-limit }} - run: | - echo "Building with flags:" platform=${{ inputs.platform }} target=${{ inputs.target }} ${{ env.SCONSFLAGS }} - scons platform=${{ inputs.platform }} target=${{ inputs.target }} ${{ env.SCONSFLAGS }} - ls -l game/bin/openvic/ \ No newline at end of file diff --git a/.github/actions/openvic-cache/action.yml b/.github/actions/openvic-cache/action.yml deleted file mode 100644 index b4164eb..0000000 --- a/.github/actions/openvic-cache/action.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Setup OpenVic Build Cache -description: Setup OpenVic Build Cache -inputs: - cache-name: - description: The cache base name (job name by default). - default: "${{github.job}}" - scons-cache: - description: The scons cache path. - default: "${{github.workspace}}/.scons-cache/" -runs: - using: "composite" - steps: - # Upload cache on completion and check it out now - - name: Load .scons_cache directory - uses: actions/cache@v3 - with: - path: ${{inputs.scons-cache}} - key: ${{inputs.cache-name}}-${{env.OPENVIC_BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - restore-keys: | - ${{inputs.cache-name}}-${{env.OPENVIC_BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - ${{inputs.cache-name}}-${{env.OPENVIC_BASE_BRANCH}}-${{github.ref}} - ${{inputs.cache-name}}-${{env.OPENVIC_BASE_BRANCH}} \ No newline at end of file diff --git a/.github/actions/openvic-env/action.yml b/.github/actions/openvic-env/action.yml deleted file mode 100644 index 7c8c4e3..0000000 --- a/.github/actions/openvic-env/action.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: Setup OpenVic Environment -description: Setup OpenVic Environment -runs: - using: "composite" - steps: - - name: Setup URL Environment - shell: bash - run: ${GITHUB_ACTION_PATH}/url-environment.sh - - - name: Setup Commit Environment - uses: actions/github-script@v6 - with: - script: require(`${process.env.GITHUB_ACTION_PATH}/commit-environment.js`)({github, context, core}) diff --git a/.github/actions/openvic-env/commit-environment.js b/.github/actions/openvic-env/commit-environment.js deleted file mode 100644 index f6213c2..0000000 --- a/.github/actions/openvic-env/commit-environment.js +++ /dev/null @@ -1,30 +0,0 @@ -module.exports = async ({github, context, core}) => { - const commit_name = 'OPENVIC_COMMIT'; - const tag_name = 'OPENVIC_TAG'; - const release_name = 'OPENVIC_RELEASE'; - var commit_sha = process.env["GITHUB_SHA"]; - - if(context.eventName === 'pull_request') { - commit_sha = context.payload.pull_request.head.sha; - } - - core.exportVariable(commit_name, commit_sha); - - try { - const release = await github.rest.repos.getLatestRelease({owner: context.repo.owner, repo: context.repo.repo}); - core.exportVariable(tag_name, release.data["tag_name"]); - core.exportVariable(release_name, release.data["name"]); - } catch(error) { - if (error.response.status != 404) throw error; - - const tagList = await github.rest.repos.listTags({owner: context.repo.owner, repo: context.repo.repo}); - if (tagList.data.length == 0) { - core.warning("Could not list tags, this repo has no tags on it, setting tag_name and release_name environment variables to '' and '', you can fetch tags with 'git fetch --tags' ' and push tags with 'git push --tags"); - core.exportVariable(tag_name, `<${context.repo.owner}/${context.repo.repo}-NoTag>`); - core.exportVariable(release_name, `<${context.repo.owner}/${context.repo.repo}-NoRelease>`); - } else { - core.exportVariable(tag_name, tagList.data[0].name); - core.exportVariable(release_name, tagList.data[0].name); - } - } -} \ No newline at end of file diff --git a/.github/actions/openvic-env/url-environment.sh b/.github/actions/openvic-env/url-environment.sh deleted file mode 100755 index 352218b..0000000 --- a/.github/actions/openvic-env/url-environment.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -# $1 = environment name -# $2 = value to set environment -set_var() { - if [[ -z ${!1+set} ]]; then - export $1=$2 - fi -} - -# $1 = left side -# $2 = right side -# returns $1 and $2 joined together with a single '/'' -join_path() { - result=$1 - if [[ $result == *"/" && $2 == "/"* ]]; then - result=${result%/} - fi - if [[ $result != *"/" && $2 != "/"* ]]; then - result="$result/" - fi - echo "$result$2" -} - -# $1 = environment name -set_github_var() { - if [ "${!1}" == "" ]; then - echo "::error::$1 environment variable has not been set." - elif ! curl -o /dev/null --head --silent --fail "${!1}"; then - echo "::error::${!1} does not exist." - else - echo "$1=${!1}" >> $GITHUB_ENV - fi -} - -if [[ $GODOT_BASE_DOWNLOAD_URL == *"downloads.tuxfamily.org/godotengine"* ]]; then - if [[ $GODOT_BASE_DOWNLOAD_URL != *"${GODOT_VERSION}"* ]]; then - GODOT_BASE_DOWNLOAD_URL="$(join_path ${GODOT_BASE_DOWNLOAD_URL} ${GODOT_VERSION})" - fi - if [[ $GODOT_VERSION_TYPE != "stable" ]]; then - GODOT_BASE_DOWNLOAD_URL="$(join_path ${GODOT_BASE_DOWNLOAD_URL} ${GODOT_VERSION_TYPE})" - fi - set_var GODOT_LINUX_URL "$(join_path ${GODOT_BASE_DOWNLOAD_URL} "Godot_v${GODOT_VERSION}-${GODOT_VERSION_TYPE}_linux.x86_64.zip")" - set_var GODOT_TEMPLATE_URL "$(join_path ${GODOT_BASE_DOWNLOAD_URL} "Godot_v${GODOT_VERSION}-${GODOT_VERSION_TYPE}_export_templates.tpz")" -elif [[ $GODOT_BASE_DOWNLOAD_URL == *"github.com/godotengine"* ]]; then - if [[ $GODOT_BASE_DOWNLOAD_URL != *"/releases"* ]]; then - GODOT_BASE_DOWNLOAD_URL=$(join_path $GODOT_BASE_DOWNLOAD_URL "releases") - fi - if [[ $GODOT_BASE_DOWNLOAD_URL != *"/download"* ]]; then - GODOT_BASE_DOWNLOAD_URL=$(join_path $GODOT_BASE_DOWNLOAD_URL "download") - fi - set_var GODOT_LINUX_URL "$(join_path ${GODOT_BASE_DOWNLOAD_URL} "${GODOT_VERSION}-${GODOT_VERSION_TYPE}/Godot_v${GODOT_VERSION}-${GODOT_VERSION_TYPE}_linux.x86_64.zip")" - set_var GODOT_TEMPLATE_URL "$(join_path ${GODOT_BASE_DOWNLOAD_URL} "${GODOT_VERSION}-${GODOT_VERSION_TYPE}/Godot_v${GODOT_VERSION}-${GODOT_VERSION_TYPE}_export_templates.tpz")" -fi - -set_github_var GODOT_LINUX_URL -set_github_var GODOT_TEMPLATE_URL \ No newline at end of file diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index 68da880..ce7265f 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -67,13 +67,14 @@ jobs: submodules: recursive - name: Setup OpenVic build cache - uses: ./.github/actions/openvic-cache + uses: OpenVicProject/openvic-cache@master with: cache-name: ${{ matrix.identifier }} + base-branch: ${{ env.OPENVIC_BASE_BRANCH }} continue-on-error: true - name: Setup Environment - uses: ./.github/actions/openvic-env + uses: OpenVicProject/openvic-env@master - name: Set up Python uses: actions/setup-python@v4 @@ -99,13 +100,14 @@ jobs: - name: Setup MinGW for Windows/MinGW build if: ${{ matrix.platform == 'windows' }} - uses: ./.github/actions/mingw-cache + uses: OpenVicProject/mingw-cache@master - name: Compile Extension - uses: ./.github/actions/openvic-build + uses: OpenVicProject/openvic-build@master with: platform: ${{ matrix.platform }} target: ${{ matrix.target }} + bin-dir: "game/bin/" sconsflags: arch=${{ matrix.arch }} - name: Delete compilation files @@ -148,7 +150,7 @@ jobs: uses: actions/checkout@v3.3.0 - name: Setup Environment - uses: ./.github/actions/openvic-env + uses: OpenVicProject/openvic-env@master - name: Download artifact uses: actions/download-artifact@v3 @@ -188,7 +190,7 @@ jobs: uses: actions/checkout@v3.3.0 - name: Setup Environment - uses: ./.github/actions/openvic-env + uses: OpenVicProject/openvic-env@master - name: Download artifact uses: actions/download-artifact@v3 -- cgit v1.2.3-56-ga3b1