feat: /vote command #2683
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
jobs: | |
client_build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/workflows/setup | |
- run: bash ./packages/client/build_client.sh | |
server_build: | |
runs-on: ubuntu-latest | |
env: | |
working-directory: ./server | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v3 | |
- name: Install Golang | |
uses: actions/setup-go@v4 | |
- name: Compile the Golang code | |
run: bash build_server.sh | |
working-directory: ${{ env.working-directory }} | |
lint: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
packageName: [client, data, game, scripts, server] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/workflows/setup | |
- name: Create the "version.js" file | |
run: bash ./packages/client/set_version.sh | |
- name: Lint the TypeScript code | |
run: bash ./packages/${{ matrix.packageName }}/lint.sh | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/workflows/setup | |
- name: Create the "version.js" file | |
run: bash ./packages/client/set_version.sh | |
- name: Test the TypeScript code | |
run: npm run test | |
format: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/workflows/setup | |
- name: Check that the entire repository is formatted with Prettier | |
run: npx prettier --log-level=warn --check . | |
spell_check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/workflows/setup | |
- name: Spell check the entire repository | |
run: bash spell_check.sh | |
lint_monorepo: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/workflows/setup | |
- name: Check templates | |
run: bash check_templates.sh | |
- name: Check "variants.json" and "variants.txt" | |
run: npm run check-variant-files | |
- name: Check "package.json" files | |
run: npm run lint-package-json | |
deploy_docs_website: | |
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' | |
needs: [lint] | |
runs-on: ubuntu-latest | |
permissions: | |
pages: write | |
id-token: write | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/workflows/setup | |
- name: Use TypeDoc to automatically generate documentation | |
run: npm run docs | |
working-directory: ./packages/game | |
- uses: actions/upload-pages-artifact@v2 | |
with: | |
path: ./packages/game/docs | |
- uses: actions/deploy-pages@v2 | |
discord: | |
name: Discord Failure Notification | |
needs: | |
[ | |
client_build, | |
server_build, | |
lint, | |
test, | |
format, | |
spell_check, | |
lint_monorepo, | |
deploy_docs_website, | |
] | |
if: failure() | |
runs-on: ubuntu-latest | |
steps: | |
- uses: sarisia/actions-status-discord@v1 | |
with: | |
webhook: ${{ secrets.DISCORD_WEBHOOK }} | |
status: failure | |
title: "" |