133 lines
4.7 KiB
YAML
133 lines
4.7 KiB
YAML
name: Create Release Commit
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag:
|
|
description: |
|
|
Tag to release (aka 1.6.1a, 1.6.1-beta-3, 2.0, etc.).
|
|
|
|
If this is just a release, then the version will be grabbed from the top line of version.txt. However, this field is needed if version.txt does not exist or is empty.
|
|
type: string
|
|
required: false
|
|
release_type:
|
|
description: 'Release Type. Will be ignored if not a release.'
|
|
type: choice
|
|
required: false
|
|
default: 'Release'
|
|
options:
|
|
- 'Release'
|
|
- 'Beta Release'
|
|
- 'Alpha Release'
|
|
update_files:
|
|
description: |
|
|
Whether this commit is just to update files. version.txt will not be changed. This is used when the templates are changed, and the main files need to be updated.
|
|
type: boolean
|
|
required: true
|
|
default: false
|
|
|
|
workflow_call:
|
|
inputs:
|
|
tag:
|
|
description: |
|
|
Tag to release (aka 1.6.1a, 1.6.1-beta-3, 2.0, etc.).
|
|
|
|
If this is just a release, then the version will be grabbed from the top line of version.txt. However, this field is needed if version.txt does not exist or is empty.
|
|
type: string
|
|
required: false
|
|
release_type:
|
|
description: 'Release Type. Will be ignored if not a release.'
|
|
type: string
|
|
required: false
|
|
update_files:
|
|
description: |
|
|
Whether this commit is just to update files. version.txt will not be changed. This is used when the templates are changed, and the main files need to be updated.
|
|
type: boolean
|
|
required: false
|
|
default: false
|
|
|
|
jobs:
|
|
createReleaseCommit:
|
|
name: Create Release Commit (${{ inputs.version }})
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
UPDATE_FILES: ${{ inputs.update_files }}
|
|
GITHUB_TAG: ${{ inputs.tag }}
|
|
RELEASE_TYPE: ${{ inputs.release_type }}
|
|
|
|
steps:
|
|
- name: Get Token
|
|
id: token
|
|
uses: peter-murray/workflow-application-token-action@v2.1.0
|
|
with:
|
|
application_id: ${{ secrets.APP_ID }}
|
|
application_private_key: ${{ secrets.APP_KEY }}
|
|
organization: Nomi-CEu
|
|
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
token: ${{ steps.token.outputs.token }}
|
|
|
|
- name: Restore Cached Files
|
|
uses: actions/cache@v3
|
|
id: cache
|
|
with:
|
|
path: |
|
|
~/.npm
|
|
./.cache
|
|
./tools/node_modules
|
|
key: ${{ runner.os }}-bunny-${{ hashFiles('**/.cache', '**/package-lock.json', '**/manifest.json') }}
|
|
restore-keys: ${{ runner.os }}-bunny-
|
|
|
|
- name: Setup NodeJS v16
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: "16"
|
|
check-latest: true
|
|
|
|
- name: Setup NPM Packages
|
|
working-directory: ./tools
|
|
run: npm ci
|
|
|
|
- name: Check Environmental Variables
|
|
working-directory: ./tools
|
|
run: npx gulp check
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
CURSEFORGE_PROJECT_ID: ${{ secrets.CURSEFORGE_PROJECT_ID }}
|
|
CURSEFORGE_API_TOKEN: ${{ secrets.CURSEFORGE_API_TOKEN }}
|
|
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
|
|
|
|
- name: Update Files
|
|
working-directory: ./tools
|
|
run: npx gulp updateFilesAll
|
|
|
|
- name: Commit and Push Release Changes
|
|
uses: stefanzweifel/git-auto-commit-action@v5
|
|
id: commit-release
|
|
if: ${{ !inputs.update_files }}
|
|
with:
|
|
commit_message: "${{ inputs.release_type }} ${{ inputs.tag }}\n\n[NO CATEGORY]"
|
|
commit_author: nomi-ceu-management[bot] <155502507+nomi-ceu-management[bot]@users.noreply.github.com>
|
|
commit_user_name: nomi-ceu-management[bot]
|
|
commit_user_email: 155502507+nomi-ceu-management[bot]@users.noreply.github.com
|
|
tagging_message: "${{ inputs.tag }}"
|
|
|
|
- name: Commit and Push Update Changes
|
|
uses: stefanzweifel/git-auto-commit-action@v5
|
|
id: commit-update
|
|
if: ${{ inputs.update_files }}
|
|
with:
|
|
commit_message: "Update Issue, Server and RP Config Files from Templates\n\n[SKIP]"
|
|
commit_author: nomi-ceu-management[bot] <155502507+nomi-ceu-management[bot]@users.noreply.github.com>
|
|
commit_user_name: nomi-ceu-management[bot]
|
|
commit_user_email: 155502507+nomi-ceu-management[bot]@users.noreply.github.com
|
|
|
|
- name: Throw Error if No Changes were Detected
|
|
if: ${{ steps.commit-release.outputs.changes_detected == 'false' || steps.commit-update.outputs.changes_detected == 'false' }}
|
|
run: |
|
|
echo "No Changes were Detected. Most likely, this is an error."
|
|
exit 1
|