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 }}