diff --git a/.bumpversion.cfg b/.bumpversion.cfg new file mode 100644 index 0000000..9e07e49 --- /dev/null +++ b/.bumpversion.cfg @@ -0,0 +1,15 @@ +[bumpversion] +current_version = 0.0.0 +commit = False +tag = True +tag_name = {new_version} + +[bumpversion:file:Nodes/Title.tscn] +search = text = "develop" +replace = text = "{new_version}" + +[semver] +main_branches = develop +major_branches = +minor_branches = feature +patch_branches = hotfix, bugfix \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index efc4ddf..7409fe4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,67 +1,73 @@ -name: Build & Push +name: Build & Publish -on: [push, pull_request] +on: release jobs: Build: runs-on: ubuntu-latest + strategy: + matrix: + platform: [linux, windows, mac] steps: - name: Checkout uses: actions/checkout@v1 - - name: Build Multi-Platform Project - uses: josephbmanley/build-godot-action@v1.2.1 - env: - PROJECT: GITS - SUBDIRECTORY: GITS - - name: Ship to S3 - uses: jakejarvis/s3-sync-action@master + - name: '' + run: | + pip install bumpversion + export regex=v([0-9]+.[0-9]+.[0-9]+) + echo ${{ github.ref }} > tag.txt + VERSION=`grep -Po '${regex}' tag.txt` + bumpversion --new-version ${VERSION} + - name: Build + id: build + uses: josephbmanley/build-godot-action@refactor/build with: - args: --follow-symlinks --delete + name: glitchinthesystem + preset: ${{ matrix.platform }} + subdirectory: gits + - name: GitHub Release Artifact + uses: josephbmanley/upload-to-release@feature/remoteName + with: + args: ${{ steps.build.outputs.artifact }} application/zip ${{ matrix.platform }}.zip env: - SOURCE_DIR: build - AWS_REGION: us-east-1 - DEST_DIR: glitch/builds/${{ github.ref }} - AWS_S3_BUCKET: sumu-games-pkg-us-east-1 - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - - name: Butler Publish Linux + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Butler Publish uses: josephbmanley/butler-publish-itchio-action@v1.0.0 - if: github['ref'] == 'refs/heads/develop' env: BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }} VERSION: develop ITCH_USER: joebmanley ITCH_GAME: glitchinthesystem - CHANNEL: linux - PACKAGE: build/linux - - name: Butler Publish Windows - uses: josephbmanley/butler-publish-itchio-action@v1.0.0 - if: github['ref'] == 'refs/heads/develop' + CHANNEL: ${{ matrix.platform }} + PACKAGE: ${{ steps.build.outputs.artifact }} + HTML: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v1 + - name: '' + run: | + pip install bumpversion + bumpversion --new-version ${SEMVER_NEW_VERSION} + - name: Build + id: build + uses: josephbmanley/build-godot-action@refactor/build + with: + name: glitchinthesystem + preset: html5 + - name: GitHub Release Artifact + uses: josephbmanley/upload-to-release@feature/remoteName + with: + args: ${{ steps.build.outputs.artifact }} application/zip html5.zip env: - BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }} - VERSION: develop - ITCH_USER: joebmanley - ITCH_GAME: glitchinthesystem - CHANNEL: windows - PACKAGE: build/windows - - name: Butler Publish HTML5 + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Butler Publish uses: josephbmanley/butler-publish-itchio-action@v1.0.0 - if: github['ref'] == 'refs/heads/develop' env: BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }} VERSION: develop ITCH_USER: joebmanley ITCH_GAME: glitchinthesystem CHANNEL: html5 - PACKAGE: build/html5/GITS - - name: Butler Publish OSX - uses: josephbmanley/butler-publish-itchio-action@v1.0.0 - if: github['ref'] == 'refs/heads/develop' - env: - BUTLER_CREDENTIALS: ${{ secrets.BUTLER_CREDENTIALS }} - VERSION: develop - ITCH_USER: joebmanley - ITCH_GAME: glitchinthesystem - CHANNEL: osx - PACKAGE: build/mac \ No newline at end of file + PACKAGE: ${{ steps.build.outputs.artifact }} \ No newline at end of file diff --git a/.github/workflows/version.yml b/.github/workflows/version.yml new file mode 100644 index 0000000..e75bec0 --- /dev/null +++ b/.github/workflows/version.yml @@ -0,0 +1,41 @@ +name: Version & Release + +on: + push: + branches: + - develop + +jobs: + CheckVersion: + runs-on: ubuntu-latest + container: + image: rightbrainnetworks/auto-semver + steps: + - name: Checkout + uses: actions/checkout@v1 + - name: Run auto-semver + id: semver + run: | + export regex='^\\s*current_version\\s*=\\s*\\K[^\\s]+' + export RETURN_STATUS=`semver -n` + echo "Semver Return Status: ${RETURN_STATUS}" + + export SEMVER_NEW_VERSION=`grep -Po '${regex}' .bumpversion.cfg` + export VERSION=`semver_get_version -d` + + echo ::set-output name=RETURN_STATUS::$RETURN_STATUS + echo ::set-output name=SEMVER_NEW_VERSION::$SEMVER_NEW_VERSION + echo ::set-output name=VERSION::$VERSION + - name: Create Release + id: create_release + uses: actions/create-release@v1 + if: steps['semver']['outputs']['RETURN_STATUS'] == '0' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: v${{ steps.semver.outputs.SEMVER_NEW_VERSION }} + release_name: v${{ steps.semver.outputs.SEMVER_NEW_VERSION }} + body: | + Glitch In The System v${{ steps.semver.outputs.SEMVER_NEW_VERSION }} + draft: false + prerelease: false \ No newline at end of file diff --git a/export_presets.cfg b/export_presets.cfg index 101dcd6..8277095 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -1,6 +1,6 @@ [preset.0] -name="HTML5" +name="html5" platform="HTML5" runnable=true custom_features="" @@ -23,7 +23,7 @@ custom_template/debug="" [preset.1] -name="Mac OSX" +name="osx" platform="Mac OSX" runnable=true custom_features="" @@ -54,7 +54,7 @@ texture_format/etc2=false [preset.2] -name="Windows Desktop" +name="windows" platform="Windows Desktop" runnable=true custom_features="" @@ -87,14 +87,14 @@ application/trademarks="" [preset.3] -name="Linux/X11" +name="linux" platform="Linux/X11" -runnable=false +runnable=true custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" -export_path="/home/hive/Projects/Personal/GlitchInTheSystem/Builds/Glitch in the System.x86_64" +export_path="" patch_list=PoolStringArray( ) script_export_mode=1 script_encryption_key="" @@ -109,28 +109,3 @@ texture_format/no_bptc_fallbacks=true binary_format/64_bits=true custom_template/release="" custom_template/debug="" - -[preset.4] - -name="linux" -platform="Linux/X11" -runnable=true -custom_features="" -export_filter="all_resources" -include_filter="" -exclude_filter="" -export_path="" -patch_list=PoolStringArray( ) -script_export_mode=1 -script_encryption_key="" - -[preset.4.options] - -texture_format/bptc=false -texture_format/s3tc=true -texture_format/etc=false -texture_format/etc2=false -texture_format/no_bptc_fallbacks=true -binary_format/64_bits=true -custom_template/release="" -custom_template/debug=""