parent
794dd5412a
commit
0414b24913
71
.github/workflows/buildpack.yml
vendored
71
.github/workflows/buildpack.yml
vendored
@ -34,7 +34,7 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
separate_upload:
|
separate_upload:
|
||||||
description: Whether to uploaed each zip (Client, Server, Lang & MMC) and the changelogs seperately. If not set, will just upload all six files into one artifact (Built Pack).
|
description: Whether to uploaed each zip (Client, Server, Lang) and the changelogs seperately. If not set, will just upload all six files into one artifact (Built Pack).
|
||||||
required: true
|
required: true
|
||||||
type: boolean
|
type: boolean
|
||||||
|
|
||||||
@ -259,7 +259,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload Client Zip
|
- name: Upload Client Zip
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
if: ${{ inputs.separate_upload }}
|
|
||||||
with:
|
with:
|
||||||
name: ${{ needs.makeNames.outputs.client }}
|
name: ${{ needs.makeNames.outputs.client }}
|
||||||
path: ./build/client/**/*
|
path: ./build/client/**/*
|
||||||
@ -324,77 +323,11 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload Server Zip
|
- name: Upload Server Zip
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
if: ${{ inputs.separate_upload }}
|
|
||||||
with:
|
with:
|
||||||
name: ${{ needs.makeNames.outputs.server }}
|
name: ${{ needs.makeNames.outputs.server }}
|
||||||
path: ./build/server/**/*
|
path: ./build/server/**/*
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
buildMMC:
|
|
||||||
name: Build Pack MMC (${{ inputs.tag }})
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: ${{ inputs.separate_upload }}
|
|
||||||
needs: makeNames
|
|
||||||
env:
|
|
||||||
GITHUB_TAG: ${{ inputs.tag }}
|
|
||||||
RELEASE_TYPE: ${{ inputs.release_type }}
|
|
||||||
GITHUB_HEAD_REF: ${{ inputs.head_ref }}
|
|
||||||
TRUE_SHA: ${{ inputs.true_sha }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout Ref
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
ref: ${{ inputs.tag }}
|
|
||||||
|
|
||||||
- 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: Build MMC
|
|
||||||
working-directory: ./tools
|
|
||||||
run: npx gulp buildMMC
|
|
||||||
env:
|
|
||||||
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
|
|
||||||
CHANGELOG_BRANCH: ${{ inputs.changelog_branch }}
|
|
||||||
CHANGELOG_URL: ${{ inputs.changelog_url }}
|
|
||||||
CHANGELOG_CF_URL: ${{ inputs.changelog_cf_url }}
|
|
||||||
COMPARE_TAG: ${{ inputs.compare_tag }}
|
|
||||||
|
|
||||||
- name: Upload MMC Zip
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
if: ${{ inputs.separate_upload }}
|
|
||||||
with:
|
|
||||||
name: ${{ needs.makeNames.outputs.mmc }}
|
|
||||||
path: ./build/mmc/**/*
|
|
||||||
if-no-files-found: error
|
|
||||||
|
|
||||||
buildLang:
|
buildLang:
|
||||||
name: Build Pack Lang and Changelogs (${{ inputs.tag }})
|
name: Build Pack Lang and Changelogs (${{ inputs.tag }})
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -454,7 +387,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload Lang Zip
|
- name: Upload Lang Zip
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
if: ${{ inputs.separate_upload }}
|
|
||||||
with:
|
with:
|
||||||
name: ${{ needs.makeNames.outputs.lang }}
|
name: ${{ needs.makeNames.outputs.lang }}
|
||||||
path: ./build/lang/**/*
|
path: ./build/lang/**/*
|
||||||
@ -462,7 +394,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload Changelogs
|
- name: Upload Changelogs
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
if: ${{ inputs.separate_upload }}
|
|
||||||
with:
|
with:
|
||||||
name: Changelogs
|
name: Changelogs
|
||||||
path: ./build/*.md
|
path: ./build/*.md
|
||||||
|
147
.github/workflows/forkprbuildpack.yml
vendored
147
.github/workflows/forkprbuildpack.yml
vendored
@ -18,12 +18,52 @@ permissions:
|
|||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
makeNames:
|
||||||
# Only continue if we are in base Nomi-CEu Repo and pull request is from fork
|
# Only continue if we are in base Nomi-CEu Repo and pull request is from fork
|
||||||
if: "${{ github.repository_owner == 'Nomi-CEu' && github.event.pull_request.head.repo.owner.login != 'Nomi-CEu' }}"
|
if: "${{ github.repository_owner == 'Nomi-CEu' && github.event.pull_request.head.repo.owner.login != 'Nomi-CEu' }}"
|
||||||
name: Fork PR Build Pack
|
name: Make Fork PR Artifact Names (${{ github.event.pull_request.head.sha }})
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
environment: fork-pr-build-pack
|
environment: fork-pr-build-pack
|
||||||
|
env:
|
||||||
|
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
||||||
|
TRUE_SHA: ${{ github.event.pull_request.head.sha }}
|
||||||
|
outputs:
|
||||||
|
client: ${{ steps.artifactNames.outputs.client }}
|
||||||
|
server: ${{ steps.artifactNames.outputs.server }}
|
||||||
|
lang: ${{ steps.artifactNames.outputs.lang }}
|
||||||
|
mmc: ${{ steps.artifactNames.outputs.mmc }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout Ref
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
# Don't use cache to prevent cache poisoning
|
||||||
|
|
||||||
|
- 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: Make Artifact Names
|
||||||
|
id: artifactNames
|
||||||
|
working-directory: ./tools
|
||||||
|
run: npx gulp makeArtifactNames
|
||||||
|
|
||||||
|
buildClient:
|
||||||
|
# Only continue if we are in base Nomi-CEu Repo and pull request is from fork
|
||||||
|
if: "${{ github.repository_owner == 'Nomi-CEu' && github.event.pull_request.head.repo.owner.login != 'Nomi-CEu' }}"
|
||||||
|
name: Build Fork PR Client (${{ github.event.pull_request.head.sha }})
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
environment: fork-pr-build-pack
|
||||||
|
needs: makeNames
|
||||||
env:
|
env:
|
||||||
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
||||||
TRUE_SHA: ${{ github.event.pull_request.head.sha }}
|
TRUE_SHA: ${{ github.event.pull_request.head.sha }}
|
||||||
@ -36,7 +76,7 @@ jobs:
|
|||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
# Don't use cache to prevent cache poisoning
|
# Don't use cache to prevent cache poisoning
|
||||||
|
|
||||||
- name: Setup NodeJS v16
|
- name: Setup NodeJS v16
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
@ -47,42 +87,103 @@ jobs:
|
|||||||
working-directory: ./tools
|
working-directory: ./tools
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|
||||||
- name: Build Pack
|
- name: Build Client
|
||||||
working-directory: ./tools
|
working-directory: ./tools
|
||||||
run: npx gulp buildAll
|
run: npx gulp buildClient
|
||||||
env:
|
env:
|
||||||
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
|
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
|
||||||
|
|
||||||
- name: Zip Pack
|
|
||||||
working-directory: ./tools
|
|
||||||
run: npx gulp zipAll
|
|
||||||
|
|
||||||
- name: Upload Client Zip
|
- name: Upload Client Zip
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: Client Zip
|
name: ${{ needs.makeNames.outputs.client }}
|
||||||
path: ./build/*-client.zip
|
path: ./build/client/**/*
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
|
buildServer:
|
||||||
|
# Only continue if we are in base Nomi-CEu Repo and pull request is from fork
|
||||||
|
if: "${{ github.repository_owner == 'Nomi-CEu' && github.event.pull_request.head.repo.owner.login != 'Nomi-CEu' }}"
|
||||||
|
name: Build Fork PR Server (${{ github.event.pull_request.head.sha }})
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
environment: fork-pr-build-pack
|
||||||
|
needs: makeNames
|
||||||
|
env:
|
||||||
|
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
||||||
|
TRUE_SHA: ${{ github.event.pull_request.head.sha }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout Ref
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
# Don't use cache to prevent cache poisoning
|
||||||
|
|
||||||
|
- 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: Build Server
|
||||||
|
working-directory: ./tools
|
||||||
|
run: npx gulp buildServer
|
||||||
|
env:
|
||||||
|
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
|
||||||
|
|
||||||
- name: Upload Server Zip
|
- name: Upload Server Zip
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: Server Zip
|
name: ${{ needs.makeNames.outputs.server }}
|
||||||
path: ./build/*-server.zip
|
path: ./build/server/**/*
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
|
buildLang:
|
||||||
|
# Only continue if we are in base Nomi-CEu Repo and pull request is from fork
|
||||||
|
if: "${{ github.repository_owner == 'Nomi-CEu' && github.event.pull_request.head.repo.owner.login != 'Nomi-CEu' }}"
|
||||||
|
name: Build Fork PR Lang and Changelogs (${{ github.event.pull_request.head.sha }})
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
environment: fork-pr-build-pack
|
||||||
|
needs: makeNames
|
||||||
|
env:
|
||||||
|
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
||||||
|
TRUE_SHA: ${{ github.event.pull_request.head.sha }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout Ref
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
# Don't use cache to prevent cache poisoning
|
||||||
|
|
||||||
|
- 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: Build Lang and Changelogs
|
||||||
|
working-directory: ./tools
|
||||||
|
run: npx gulp buildLang
|
||||||
|
env:
|
||||||
|
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
|
||||||
|
|
||||||
- name: Upload Lang Zip
|
- name: Upload Lang Zip
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: Lang Zip
|
name: ${{ needs.makeNames.outputs.lang }}
|
||||||
path: ./build/*-lang.zip
|
path: ./build/lang/**/*
|
||||||
if-no-files-found: error
|
|
||||||
|
|
||||||
- name: Upload MMC Zip
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: MMC Zip
|
|
||||||
path: ./build/*-mmc.zip
|
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
- name: Upload Changelogs
|
- name: Upload Changelogs
|
||||||
|
@ -27,8 +27,8 @@ export const buildServer = gulp.series(gulp.parallel(sharedTasks, modTasks), ser
|
|||||||
export const buildLang = gulp.series(sharedTasks, langTasks);
|
export const buildLang = gulp.series(sharedTasks, langTasks);
|
||||||
export const buildMMC = gulp.series(gulp.parallel(sharedTasks, modTasks), clientTasks, mmcTasks);
|
export const buildMMC = gulp.series(gulp.parallel(sharedTasks, modTasks), clientTasks, mmcTasks);
|
||||||
export const buildAll = gulp.series(
|
export const buildAll = gulp.series(
|
||||||
gulp.parallel(sharedTasks, modTasks),
|
sharedTasks,
|
||||||
gulp.series(gulp.parallel(clientTasks, langTasks, serverTasks), mmcTasks),
|
gulp.parallel(clientTasks, langTasks, gulp.series(modTasks, serverTasks)),
|
||||||
);
|
);
|
||||||
|
|
||||||
import checkTasks from "./tasks/checks";
|
import checkTasks from "./tasks/checks";
|
||||||
|
@ -26,7 +26,7 @@ async function deployReleases(): Promise<void> {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const body = makeArtifactNameBody(modpackManifest.name);
|
const body = makeArtifactNameBody(modpackManifest.name);
|
||||||
const files = ["client", "server", "lang", "mmc"].map((file) => sanitize(`${body}-${file}.zip`.toLowerCase()));
|
const files = ["client", "server", "lang"].map((file) => sanitize(`${body}-${file}.zip`.toLowerCase()));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Obligatory file check.
|
* Obligatory file check.
|
||||||
|
@ -43,4 +43,4 @@ export const zipClient = makeZipper(clientDestDirectory, "Client");
|
|||||||
export const zipLang = makeZipper(langDestDirectory, "Lang");
|
export const zipLang = makeZipper(langDestDirectory, "Lang");
|
||||||
export const zipMMC = makeZipper(mmcDestDirectory, "MMC");
|
export const zipMMC = makeZipper(mmcDestDirectory, "MMC");
|
||||||
|
|
||||||
export const zipAll = gulp.parallel(zipServer, zipClient, zipLang, zipMMC);
|
export const zipAll = gulp.parallel(zipServer, zipClient, zipLang);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user