diff --git a/.github/workflows/github_release.yml b/.github/workflows/github_release.yml index 2821ee429c84510710d412d6cdb74419a68a27f9..4e80dc00d500ca96f77623e0334437ab824fd851 100644 --- a/.github/workflows/github_release.yml +++ b/.github/workflows/github_release.yml @@ -6,8 +6,13 @@ on: - '*' jobs: + release: runs-on: ubuntu-latest + # OUTPUTS + outputs: + newtag: ${{ steps.tag.outputs.tag }} + uploadurl: ${{ steps.create_release.outputs.upload_url }} steps: # GET LATEST CODE - name: Checkout latest code @@ -27,6 +32,7 @@ jobs: uses: ardalanamini/auto-changelog@master with: token: ${{ secrets.GITHUB_TOKEN }} + - name: Create Release id: create_release uses: actions/create-release@latest @@ -42,26 +48,103 @@ jobs: draft: false prerelease: false + main: + needs: release + runs-on: ubuntu-latest + steps: + # GET LATEST CODE + - name: Checkout latest code + uses: actions/checkout@master + with: + ref: main + fetch-depth: 0 + + # BUILD PROJECT AND PUBLISH TO PACKAGES + - name: Set up JDK 8 + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '8' + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + - name: Publish to GitHub Packages + env: + GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + NEW_VERSION=$(echo "${{ needs.release.outputs.newtag }}") + echo "New version: ${NEW_VERSION}" + echo "Github username: ${GITHUB_ACTOR}" + ./gradlew about + ./gradlew -Pversion=${NEW_VERSION} build --info -x test + + # UPLOAD ASSETS TO RELEASE + - name: Upload Release Asset Main Jar + id: upload-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.release.outputs.uploadurl }} + asset_path: ./build/libs/ExampleAddon-${{ needs.release.outputs.newtag }}.jar + asset_name: ExampleAddon-${{ needs.release.outputs.newtag }}.jar + asset_content_type: application/jar + + - name: Upload Release Asset Sources Jar + id: upload-release-asset-sources + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.release.outputs.uploadurl }} + asset_path: ./build/libs/ExampleAddon-${{ needs.release.outputs.newtag }}-sources.jar + asset_name: ExampleAddon-${{ needs.release.outputs.newtag }}-sources.jar + asset_content_type: application/jar + + - name: Upload Release Asset Javadoc Jar + id: upload-release-asset-javadoc + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.release.outputs.uploadurl }} + asset_path: ./build/libs/ExampleAddon-${{ needs.release.outputs.newtag }}-javadoc.jar + asset_name: ExampleAddon-${{ needs.release.outputs.newtag }}-javadoc.jar + asset_content_type: application/jar + + alternative: + needs: release + runs-on: ubuntu-latest + steps: + # GET LATEST CODE + - name: Checkout latest code + uses: actions/checkout@master + with: + ref: alternativeExtensionDeclaration + fetch-depth: 0 + # BUILD PROJECT AND PUBLISH TO PACKAGES - name: Set up JDK 8 uses: actions/setup-java@v2 with: distribution: 'adopt' java-version: '8' + - name: Grant execute permission for gradlew run: chmod +x gradlew + - name: Publish to GitHub Packages env: GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - NEW_VERSION=$(echo "${{steps.tag.outputs.tag}}") + NEW_VERSION=$(echo "${{ needs.release.outputs.newtag }}") echo "New version: ${NEW_VERSION}" echo "Github username: ${GITHUB_ACTOR}" ./gradlew about - ./gradlew -Pversion=${NEW_VERSION} publish --info -x test - - name: List files - run: ls -ahl build/libs + ./gradlew -Pversion=${NEW_VERSION} build --info -x test # UPLOAD ASSETS TO RELEASE - name: Upload Release Asset Main Jar @@ -70,27 +153,95 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./build/libs/serverpackcreatorexampleaddon-${{steps.tag.outputs.tag}}.jar - asset_name: serverpackcreatorexampleaddon-${{steps.tag.outputs.tag}}.jar + upload_url: ${{ needs.release.outputs.uploadurl }} + asset_path: ./build/libs/AlternativeExtensionDeclaration-${{ needs.release.outputs.newtag }}.jar + asset_name: AlternativeExtensionDeclaration-${{ needs.release.outputs.newtag }}.jar asset_content_type: application/jar + - name: Upload Release Asset Sources Jar id: upload-release-asset-sources uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./build/libs/serverpackcreatorexampleaddon-${{steps.tag.outputs.tag}}-sources.jar - asset_name: serverpackcreatorexampleaddon-${{steps.tag.outputs.tag}}-sources.jar + upload_url: ${{ needs.release.outputs.uploadurl }} + asset_path: ./build/libs/AlternativeExtensionDeclaration-${{ needs.release.outputs.newtag }}-sources.jar + asset_name: AlternativeExtensionDeclaration-${{ needs.release.outputs.newtag }}-sources.jar asset_content_type: application/jar + + - name: Upload Release Asset Javadoc Jar + id: upload-release-asset-javadoc + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.release.outputs.uploadurl }} + asset_path: ./build/libs/AlternativeExtensionDeclaration-${{ needs.release.outputs.newtag }}-javadoc.jar + asset_name: AlternativeExtensionDeclaration-${{ needs.release.outputs.newtag }}-javadoc.jar + asset_content_type: application/jar + + tetris: + needs: release + runs-on: ubuntu-latest + steps: + # GET LATEST CODE + - name: Checkout latest code + uses: actions/checkout@master + with: + ref: tetris + fetch-depth: 0 + + # BUILD PROJECT AND PUBLISH TO PACKAGES + - name: Set up JDK 8 + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '8' + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + - name: Publish to GitHub Packages + env: + GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + NEW_VERSION=$(echo "${{ needs.release.outputs.newtag }}") + echo "New version: ${NEW_VERSION}" + echo "Github username: ${GITHUB_ACTOR}" + ./gradlew about + ./gradlew -Pversion=${NEW_VERSION} build --info -x test + + # UPLOAD ASSETS TO RELEASE + - name: Upload Release Asset Main Jar + id: upload-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.release.outputs.uploadurl }} + asset_path: ./build/libs/Minigame-${{ needs.release.outputs.newtag }}.jar + asset_name: Minigame-${{ needs.release.outputs.newtag }}.jar + asset_content_type: application/jar + + - name: Upload Release Asset Sources Jar + id: upload-release-asset-sources + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.release.outputs.uploadurl }} + asset_path: ./build/libs/Minigame-${{ needs.release.outputs.newtag }}-sources.jar + asset_name: Minigame-${{ needs.release.outputs.newtag }}-sources.jar + asset_content_type: application/jar + - name: Upload Release Asset Javadoc Jar id: upload-release-asset-javadoc uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./build/libs/serverpackcreatorexampleaddon-${{steps.tag.outputs.tag}}-javadoc.jar - asset_name: serverpackcreatorexampleaddon-${{steps.tag.outputs.tag}}-javadoc.jar + upload_url: ${{ needs.release.outputs.uploadurl }} + asset_path: ./build/libs/Minigame-${{ needs.release.outputs.newtag }}-javadoc.jar + asset_name: Minigame-${{ needs.release.outputs.newtag }}-javadoc.jar asset_content_type: application/jar \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5881a8731fc2a40f86bf32231d966ebeee65ce6f..8baf1c57af528fbc7baddfe5ba7be812d03a5353 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,10 +6,80 @@ on: workflow_dispatch: jobs: - test: + main: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + with: + ref: main + - name: Set up JDK 8 + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '8' + - name: Where is Java + run: which java + - name: Grant execute permission for gradlew + run: chmod +x gradlew + - name: Build with Gradle + run: ./gradlew about build --no-daemon --info + - name: List files in libs + run: ls -ahl build/libs + - uses: actions/upload-artifact@v2 + with: + name: build-artifacts-gradle + path: | + build/libs/ + !build/libs/libraries/ + frontend/dist/spa + if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` + - uses: actions/upload-artifact@v2 + if: failure() + with: + name: report + path: build/reports/tests/test/ + if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` + + alternative: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + ref: alternativeExtensionDeclaration + - name: Set up JDK 8 + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '8' + - name: Where is Java + run: which java + - name: Grant execute permission for gradlew + run: chmod +x gradlew + - name: Build with Gradle + run: ./gradlew about build --no-daemon --info + - name: List files in libs + run: ls -ahl build/libs + - uses: actions/upload-artifact@v2 + with: + name: build-artifacts-gradle + path: | + build/libs/ + !build/libs/libraries/ + frontend/dist/spa + if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` + - uses: actions/upload-artifact@v2 + if: failure() + with: + name: report + path: build/reports/tests/test/ + if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` + + tetris: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + ref: tetris - name: Set up JDK 8 uses: actions/setup-java@v2 with: diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 89255f1f85c6a7ca9c0da8ccbf1c775f88bcf935..e09c03a252da980bf2fbb7ebae9d396bcde90161 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,28 +26,6 @@ Gradle Test: script: - echo "**** Building ServerPackCreator ****" - ./gradlew build --info - - echo "**** Listing build directory ****" - - LC_COLLATE=C ls -ahl --group-directories-first --color=auto - build - - LC_COLLATE=C ls -ahl --group-directories-first --color=auto - build/libs - - echo "**** Renaming files to please the eye ****" - - mv - build/libs/serverpackcreatorexampleaddon.jar - build/libs/ServerPackCreatorExampleAddon.jar - - mv - build/libs/serverpackcreatorexampleaddon-javadoc.jar - build/libs/ServerPackCreatorExampleAddon-javadoc.jar - - mv - build/libs/serverpackcreatorexampleaddon-sources.jar - build/libs/ServerPackCreatorExampleAddon-sources.jar - artifacts: - paths: - - build/libs/ServerPackCreatorExampleAddon.jar - - build/libs/ServerPackCreatorExampleAddon-javadoc.jar - - build/libs/ServerPackCreatorExampleAddon-sources.jar - - build/reports/tests/test - expire_in: 1 week except: refs: - tags @@ -70,7 +48,6 @@ Release: script: - npx semantic-release only: - - master - main except: refs: @@ -78,86 +55,6 @@ Release: variables: - $CI_COMMIT_TITLE =~ /^RELEASE:.+$/ -Build Release: - image: griefed/baseimage-ubuntu-jdk-8:2.0.3 - stage: Build Release - services: - - name: griefed/gitlab-ci-cd:2.0.1 - alias: docker - variables: - project_name: $CI_PROJECT_NAME - SEMANTIC_RELEASE_PACKAGE: $CI_PROJECT_NAME - before_script: - - echo "**** Running in $CI_JOB_ID ****" - - echo "**** Java location ****" - - which java - - echo "**** Java version ****" - - java -version - - echo "**** Allowing execution of gradlew ****" - - chmod +x gradlew - - echo "**** Ensure clean environment ****" - - ./gradlew about - script: - - echo "**** Building ServerPackCreator ****" - - ./gradlew build --info -x test - - echo "**** Listing build directory ****" - - LC_COLLATE=C ls -ahl --group-directories-first --color=auto - build - - LC_COLLATE=C ls -ahl --group-directories-first --color=auto - build/libs - - echo "**** Renaming files to please the eye ****" - - mv - build/libs/serverpackcreatorexampleaddon.jar - build/libs/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.jar - - mv - build/libs/serverpackcreatorexampleaddon-javadoc.jar - build/libs/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}-javadoc.jar - - mv - build/libs/serverpackcreatorexampleaddon-sources.jar - build/libs/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}-sources.jar - - LC_COLLATE=C ls -ahl --group-directories-first --color=auto - build/libs - - echo "**** Uploading packages ****" - - 'curl - --header "JOB-TOKEN: ${CI_JOB_TOKEN}" - --upload-file build/libs/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.jar - "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.jar"' - - 'curl - --header "JOB-TOKEN: ${CI_JOB_TOKEN}" - --upload-file build/libs/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}-javadoc.jar - "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}-javadoc.jar"' - - 'curl - --header "JOB-TOKEN: ${CI_JOB_TOKEN}" - --upload-file build/libs/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}-sources.jar - "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}-sources.jar"' - - echo "**** Create asset links ****" - - 'curl - --request POST - --header "PRIVATE-TOKEN: ${GITLAB_TOKEN}" - --data tag_name="${CI_COMMIT_TAG}" - --data name="${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.jar" - --data url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.jar" - --data link_type="package" - "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/releases/${CI_COMMIT_TAG}/assets/links"' - - 'curl - --request POST - --header "PRIVATE-TOKEN: ${GITLAB_TOKEN}" - --data tag_name="${CI_COMMIT_TAG}" - --data name="${CI_PROJECT_NAME}-${CI_COMMIT_TAG}-javadoc.jar" - --data url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}-javadoc.jar" - --data link_type="package" - "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/releases/${CI_COMMIT_TAG}/assets/links"' - - 'curl - --request POST - --header "PRIVATE-TOKEN: ${GITLAB_TOKEN}" - --data tag_name="${CI_COMMIT_TAG}" - --data name="${CI_PROJECT_NAME}-${CI_COMMIT_TAG}-sources.jar" - --data url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}-sources.jar" - --data link_type="package" - "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/releases/${CI_COMMIT_TAG}/assets/links"' - only: - - tags - pages: image: griefed/baseimage-ubuntu-jdk-8:2.0.3 stage: Documentation @@ -182,4 +79,4 @@ pages: artifacts: paths: - public - expire_in: 1 week + expire_in: 1 week \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 835692ccd03790fe4ae6a0be1b795df6bd2695cc..8247b072987e144b0dd05e5e2d5b2d172bf7f411 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -//rootProject.name = 'serverpackcreatorexampleaddon' +rootProject.name = 'ExampleAddon'