Skip to content

Commit

Permalink
Copy build.yml from main branch
Browse files Browse the repository at this point in the history
  • Loading branch information
acrylic-style committed Jun 13, 2022
1 parent 21524e4 commit d6f53e1
Showing 1 changed file with 36 additions and 10 deletions.
46 changes: 36 additions & 10 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,58 @@ name: CI
on:
push:
branches:
- '*'
- '**'
workflow_dispatch:
jobs:
# the problem is that the numbers are going to be masked because of the secrets
update-build-number:
get_major_version:
runs-on: ubuntu-latest
name: "Get major version"
steps:
- uses: actions/checkout@v2
- name: Get major version
id: getMajorVersion
run: |
MINECRAFT_VERSION=$(grep MINECRAFT_VERSION buildSrc/src/main/kotlin/net/blueberrymc/gradle/buildSrc/constants/MagicConstants.kt | sed -r "s/.*= \"([0-9]+\\.[0-9]+)(\\.[0-9]+)?\"/\1/" | sed s/\\./_/)
echo "Detected major version: $MINECRAFT_VERSION"
echo "::set-output name=value::$MINECRAFT_VERSION"
outputs:
major_version: ${{ steps.getMajorVersion.outputs.value }}
update_build_number:
runs-on: ubuntu-latest
name: "Update build number"
needs:
- get_major_version
env:
MAJOR_VERSION: ${{ needs.get_major_version.outputs.major_version }}
steps:
- name: Generate next build number
run: 'echo "::set-output name=value::$(($BN + 1))"'
id: generateNextBuildNumber
env:
BN: ${{ secrets.BUILD_NUMBER }}
BN: ${{ secrets[format('BUILD_NUMBER_{0}', env.MAJOR_VERSION)] }}
- uses: hmanzur/actions-set-secret@v2.0.0
with:
name: 'BUILD_NUMBER'
name: ${{ format('BUILD_NUMBER_{0}', env.MAJOR_VERSION) }}
value: ${{ steps.generateNextBuildNumber.outputs.value }}
token: ${{ secrets.TOKEN }}
- run: "echo 'Current build number (this number will be masked!): '$CBN', next build number: '$NBN"
env:
CBN: ${{ secrets.BUILD_NUMBER }}
CBN: ${{ secrets[format('BUILD_NUMBER_{0}', env.MAJOR_VERSION)] }}
NBN: ${{ steps.generateNextBuildNumber.outputs.value }}
outputs:
major_version: ${{ env.MAJOR_VERSION }}
gradle-build:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ '17' ]
name: "Gradle (Java ${{ matrix.Java }})"
needs: [update-build-number]
needs:
- get_major_version
- update_build_number
env:
MAJOR_VERSION: ${{ needs.update_build_number.outputs.major_version }}
steps:
- uses: actions/checkout@v2
- name: Setup git
Expand All @@ -40,7 +63,7 @@ jobs:
with:
java-version: ${{ matrix.java }}
distribution: temurin
cache: 'gradle'
#cache: 'gradle'
# - name: Update submodules
# run: "git submodule update --init && cd MagmaCube && git submodule update --init && cd .."
- name: "Apply patches (MagmaCube)"
Expand All @@ -50,16 +73,18 @@ jobs:
- name: Install MagmaCube
run: 'cd MagmaCube && mvn -B clean install'
- name: Run test
run: './gradlew test --info --stacktrace'
run: './gradlew -PBUILD_NUMBER=$BUILD_NUMBER test --info --stacktrace'
env:
BUILD_NUMBER: ${{ secrets[format('BUILD_NUMBER_{0}', env.MAJOR_VERSION)] }}
- name: Bake installer
run: './gradlew -PBUILD_NUMBER=$BUILD_NUMBER bakeInstaller --info --stacktrace'
env:
BUILD_NUMBER: ${{ secrets.BUILD_NUMBER }}
BUILD_NUMBER: ${{ secrets[format('BUILD_NUMBER_{0}', env.MAJOR_VERSION)] }}
- name: Retrieve version
run: 'echo "::set-output name=version::$(./gradlew -q --console plain -PBUILD_NUMBER=$BUILD_NUMBER printVersion)"'
id: retrieveVersion
env:
BUILD_NUMBER: ${{ secrets.BUILD_NUMBER }}
BUILD_NUMBER: ${{ secrets[format('BUILD_NUMBER_{0}', env.MAJOR_VERSION)] }}
- name: Release new build
uses: softprops/action-gh-release@v1
with:
Expand All @@ -68,6 +93,7 @@ jobs:
target_commitish: ${{ github.sha }}
fail_on_unmatched_files: true
token: ${{ secrets.GITHUB_TOKEN }}
prerelease: ${{ !startsWith(github.ref_name, 'ver/') && github.ref_name != 'main' && github.ref_name != 'master' }}
- name: Upload a Build Artifact
uses: actions/upload-artifact@v2.2.4
with:
Expand Down

0 comments on commit d6f53e1

Please sign in to comment.