modded7/.github/workflows/releasedeploy.yml
Integer Limit 8a4b323505
Improve Build CI/CD System (#552)
This improves the Build CI/CD System and the Release Commit Workflows.

The CD system now builds and zips the pack in parallel, increasing the speed twofold.
The CI system now does not produce double zips, but remains the same speed, thanks to parallel processing.

The CI system now also changes server.properties and random patches config files for the build, and the buildscript has been edited for that.

Since the CI system replaces the nightly task, the nightly workflow has been deleted. The makeArtifactNames task is now used, and has been changed to remove usage of deprecated features.

The release commit workflows now supports updating files without version input, and the version is grabbed from versions.txt.' The code for the release commit workflows has also been greatly cleaned up.

The changes made to the random patches template files have also been updated. The changes made incorrectly to the issue templates in #487 have also been fixed.

The README badges have also been changed. The issue badge has been replaced by a nightly builds badge.

Finally, this changes the forge download process to try again if the response is null, resulting in a decrease, to almost none, test build pack and build pack failures.

[INTERNAL]
[IGNORE]
checks = { compareNot = "1.7-alpha-1" }
[IGNORE]
2023-12-04 21:56:24 +11:00

79 lines
2.1 KiB
YAML

name: Release Commit & Deploy
on:
workflow_dispatch:
inputs:
tag:
description: Tag to Make and Release.
required: true
type: string
release_type:
description: The Release Type.
required: true
type: choice
default: 'Release'
options:
- 'Release'
- 'Beta Release'
- 'Alpha Release'
compare_tag:
description: Tag(s) to compare against. If specifying multiple, seperate by commas. (Spaces allowed). See CONTRIBUTING.md for more information.
required: false
type: string
deploy_to_gh:
description: Whether to deploy to GitHub Releases.
required: true
type: boolean
default: true
deploy_to_cf:
description: Whether to deploy to CurseForge.
required: true
type: boolean
default: true
jobs:
releaseCommit:
name: Create Release Commit (${{ inputs.tag }})
uses: ./.github/workflows/releasecommit.yml
with:
tag: ${{ inputs.tag }}
release_type: ${{ inputs.release_type }}
secrets: inherit
permissions:
contents: write
build:
name: Build Pack (${{ inputs.tag }})
needs: releaseCommit
uses: ./.github/workflows/buildpack.yml
with:
tag: ${{ inputs.tag }}
release_type: ${{ inputs.release_type }}
changelog_url: ${{ inputs.changelog_url }}
changelog_cf_url: ${{ inputs.changelog_cf_url }}
changelog_branch: ${{ inputs.changelog_branch }}
compare_tag: ${{ inputs.compare_tag }}
secrets: inherit
deployGH:
name: Deploy to GitHub Releases (${{ inputs.tag }})
if: ${{ inputs.deploy_to_gh }}
needs: build
uses: ./.github/workflows/deploygh.yml
with:
tag: ${{ inputs.tag }}
release_type: ${{ inputs.release_type }}
secrets: inherit
permissions:
contents: write
deployCF:
name: Deploy to CurseForge (${{ inputs.tag }})
if: ${{ inputs.deploy_to_cf }}
needs: build
uses: ./.github/workflows/deploycf.yml
with:
tag: ${{ inputs.tag }}
release_type: ${{ inputs.release_type }}
secrets: inherit