# This is a basic workflow to help you get started with Actions name: Build Release # Controls when the action will run. Triggers the workflow on push or pull request # events but only for the master branch on: release: types: [created] workflow_dispatch: jobs: # This workflow contains a single job called "build" build: # The type of runner that the job will run on runs-on: ubuntu-latest # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v2 - name: Set up JDK 17 uses: actions/setup-java@v2 with: distribution: 'adopt' java-version: '17' - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build with Gradle run: ./gradlew build - uses: actions/upload-artifact@v2 with: name: Artifacts path: build/libs/ - name: Read Changelog id: read_changelog shell: bash run: | CHANGELOG=$(sed '/___/Q' CHANGELOG.md | grep -v '# ') echo "Changelog:\n$CHANGELOG" CHANGELOG="${CHANGELOG//'%'/'%25'}" CHANGELOG="${CHANGELOG//$'\n'/'%0A'}" CHANGELOG="${CHANGELOG//$'\r'/'%0D'}" echo "::set-output name=changelog::$CHANGELOG" - uses: actions/github-script@v2 id: fname with: result-encoding: string script: | const fs = require("fs") return fs.readdirSync("build/libs/").filter(e => !e.endsWith("dev.jar") && !e.endsWith("sources.jar") && e.endsWith(".jar"))[0] - name: Release id: uploadrelease uses: softprops/action-gh-release@v1 with: body: ${{ steps.read_changelog.outputs.changelog }} files: build/libs/${{ steps.fname.outputs.result }} - name: Publish to Modrinth id: modrinth env: MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }} CHANGELOG: ${{ steps.read_changelog.outputs.changelog }} run: ./gradlew modrinth - name: Get version tag id: version_tag run: | [[ ! "$GITHUB_REF" =~ refs/tags ]] && exit echo "::set-output name=value::${GITHUB_REF#refs/tags/}" - name: Discord notification env: DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} uses: Ilshidur/action-discord@master with: args: | "@here" "Skyblocker ${{ steps.version_tag.outputs.value }}" "" "Changelog" "```md" "${{ steps.read_changelog.outputs.changelog }}" "```" ":inbox_tray: Download latest version on Modrinth or Github:" "<:modrinth:900697862206287882> <${{ steps.modrinth.outputs.url }}>" "<:github:900697885706952725> <${{ steps.uploadrelease.outputs.url }}>" "" ""