156 lines
5.7 KiB
YAML
156 lines
5.7 KiB
YAML
name: Release
|
|
run-name: "Release #${{ github.run_number }}"
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
project_name:
|
|
required: true
|
|
type: string
|
|
project_version:
|
|
required: true
|
|
type: string
|
|
mc_version:
|
|
required: true
|
|
type: string
|
|
changelog:
|
|
required: true
|
|
type: string
|
|
|
|
env:
|
|
CF_PROJECT_ID: "385053"
|
|
MODRINTH_PROJECT_ID: "75JuuMzk"
|
|
RELEASE_TYPE: "beta"
|
|
|
|
jobs:
|
|
release-curseforge:
|
|
name: Deploy to CurseForge
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check if CF_API_TOKEN exist
|
|
shell: bash
|
|
run: |
|
|
if [ "${{ secrets.CF_API_TOKEN }}" == '' ]; then
|
|
echo '::error::No value found for secret key `CF_API_TOKEN`. See https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository' && exit 1
|
|
fi
|
|
|
|
- name: Download cf modpack
|
|
uses: actions/download-artifact@v4.1.0
|
|
with:
|
|
name: ${{ inputs.project_name }}-${{ inputs.project_version }}-cf
|
|
|
|
- name: Download serverpack
|
|
uses: actions/download-artifact@v4.1.0
|
|
with:
|
|
name: ${{ inputs.project_name }}-${{ inputs.project_version }}-server
|
|
|
|
- name: Upload Curseforge
|
|
id: cf_release
|
|
uses: SwitchAlpha/upload-curseforge-modpack-action@master
|
|
with:
|
|
api-token: ${{ secrets.CF_API_TOKEN }}
|
|
project-id: ${{ env.CF_PROJECT_ID }}
|
|
modpack-path: ${{ inputs.project_name }}-${{ inputs.project_version }}-cf.zip
|
|
modpack-server-path: ${{ inputs.project_name }}-${{ inputs.project_version }}-server.zip
|
|
changelog: ${{ inputs.changelog }}
|
|
changelog-format: markdown
|
|
game-version: ${{ inputs.mc_version }}
|
|
display-name: ${{ inputs.project_name }}-${{ inputs.project_version }}
|
|
server-display-name: ${{ inputs.project_name }}-${{ inputs.project_version }}-server
|
|
release-type: ${{ env.RELEASE_TYPE }}
|
|
|
|
- name: Send Discord message
|
|
uses: tsickert/discord-webhook@v5.4.0
|
|
with:
|
|
webhook-url: ${{secrets.RELEASES_1_20}}
|
|
username: "TerraFirmaGreg"
|
|
avatar-url: "https://raw.githubusercontent.com/TerraFirmaGreg-Team/.github/main/branding/curseforge_logo.png"
|
|
embed-title: Release ${{ inputs.project_version }}
|
|
embed-url: https://github.com/TerraFirmaGreg-Team/TFG-Modpack-1.20.x/releases/tag/${{ inputs.project_version }}
|
|
embed-thumbnail-url: https://raw.githubusercontent.com/TerraFirmaGreg-Team/.github/main/branding/logo_new_year.png
|
|
embed-description: |
|
|
**Release Type**: `${{ env.RELEASE_TYPE }}`
|
|
**GameVersion**: `${{ inputs.mc_version }}`
|
|
**Website Link**: [CurseForge](https://www.curseforge.com/minecraft/modpacks/terrafirmagreg/files/${{ steps.cf_release.outputs.id }})
|
|
|
|
**Changelog**
|
|
```${{ inputs.changelog }}```
|
|
embed-color: 5814783
|
|
|
|
release-github:
|
|
name: Deploy to GitHub
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Download modpack
|
|
uses: actions/download-artifact@v4.1.0
|
|
with:
|
|
merge-multiple: true
|
|
|
|
- name: Create release
|
|
uses: softprops/action-gh-release@v1
|
|
with:
|
|
prerelease: false
|
|
generate_release_notes: true
|
|
name: ${{ inputs.project_version }}
|
|
body: ${{ inputs.CHANGELOG }}
|
|
files: |
|
|
${{ inputs.project_name }}-${{ inputs.project_version }}-cf.zip
|
|
${{ inputs.project_name }}-${{ inputs.project_version }}-mmc.zip
|
|
${{ inputs.project_name }}-${{ inputs.project_version }}-server.zip
|
|
tag_name: ${{ inputs.project_version }}
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
# release-modrinth:
|
|
# name: Deploy to Modrinth
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
# - name: Check if MODRINTH_API_TOKEN exist
|
|
# shell: bash
|
|
# run: |
|
|
# if [ "${{ secrets.MODRINTH_API_TOKEN }}" == '' ]; then
|
|
# echo '::error::No value found for secret key `MODRINTH_API_TOKEN`. See https://docs.github.com/en/actionssecurity-guides/ encrypted-secrets#creating-encrypted-secrets-for-a-repository' && exit 1
|
|
# fi
|
|
|
|
# - name: Download modpack
|
|
# uses: actions/download-artifact@v4.1.0
|
|
# with:
|
|
# name: modpack_mrd
|
|
|
|
# - name: Download serverpack
|
|
# uses: actions/download-artifact@v4.1.0
|
|
# with:
|
|
# name: server_pack
|
|
|
|
# - name: Upload Modrinth
|
|
# id: cf_release
|
|
# uses: SwitchAlpha/upload-curseforge-modpack-action@master
|
|
# with:
|
|
# api-token: ${{ secrets.MODRINTH_API_TOKEN }}
|
|
# project-id: ${{ env.MODRINTH_PROJECT_ID }}
|
|
# modpack-path: ${{ inputs.project_name }}-${{ inputs.project_version }}-mrd.zip
|
|
# modpack-server-path: ${{ inputs.project_name }}-${{ inputs.project_version }}-server.zip
|
|
# changelog: "${{ inputs.CHANGELOG }}"
|
|
# changelog-format: markdown
|
|
# game-version: ${{ inputs.mc_version }}
|
|
# display-name: ${{ inputs.project_name }}-${{ inputs.project_version }}
|
|
# server-display-name: ${{ inputs.project_name }}-${{ inputs.project_version }}-server
|
|
# release-type: ${{ env.RELEASE_TYPE }}
|
|
|
|
close-fixed-issues:
|
|
name: Close Fixed Issues
|
|
runs-on: ubuntu-latest
|
|
needs: [release-github, release-curseforge]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4.1.1
|
|
|
|
- name: close-fixed-in-dev
|
|
uses: juraj-hrivnak/close-issues-based-on-label@master
|
|
env:
|
|
LABEL: "2. status: fixed in dev"
|
|
VERSION: ${{ inputs.project_version }}
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
|
|
|