modded7/.github/workflows/nightly.yml
2022-02-15 11:19:28 +08:00

102 lines
2.7 KiB
YAML

name: Nightly Builds
on:
push:
branches:
- dev
tags-ignore:
- '**'
jobs:
nightly:
runs-on: ubuntu-latest
steps:
- name: Cancel previous runs
uses: styfle/cancel-workflow-action@0.8.0
with:
access_token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v2
- run: git fetch --prune --unshallow --tags --force
- name: Restore cached files
uses: actions/cache@v2
id: cache
with:
path: |
~/.npm
./.cache
./buildtools/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@v2
with:
node-version: "16"
check-latest: true
- name: "Download NPM packages"
working-directory: ./buildtools
run: npm ci
- name: "Check environmental variables"
working-directory: ./buildtools
run: npx gulp check
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CURSEFORGE_PROJECT_ID: ${{ secrets.CURSEFORGE_PROJECT_ID }}
CURSEFORGE_API_TOKEN: ${{ secrets.CURSEFORGE_API_TOKEN }}
- name: "Build everything"
working-directory: ./buildtools
run: npx gulp buildAll
- name: "Prune cache"
working-directory: ./buildtools
run: npx gulp pruneCache
##
## Upload artifacts.
##
- name: "Make artifact names"
id: artifactNames
working-directory: ./buildtools
run: npx gulp makeArtifactNames
- name: "Upload client artifact"
uses: actions/upload-artifact@v2
with:
name: ${{ steps.artifactNames.outputs.client }}
path: |
build/client/**/*
- name: "Upload server artifact"
uses: actions/upload-artifact@v2
with:
name: ${{ steps.artifactNames.outputs.server }}
path: |
build/server/**/*
- name: "Upload lang artifact"
uses: actions/upload-artifact@v2
with:
name: ${{ steps.artifactNames.outputs.lang }}
path: |
build/lang/**/*
- name: "Upload changelog artifact"
uses: actions/upload-artifact@v2
with:
name: changelog
path: |
build/shared/CHANGELOG.md
- name: "Fire Discord webhook"
working-directory: ./buildtools
run: npx gulp fireNightlyWebhook
env:
GITHUB_RUN_ID: ${{ github.run_id }}
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}