diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..a701587fd --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,62 @@ +name: Build + +on: + workflow_dispatch: + inputs: + buildApp: + description: "Include Application Build" + type: boolean + default: "true" + required: true + buildDoc: + description: "Include Documentation Build" + type: boolean + default: "true" + required: true + +jobs: + build: + name: Build + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + steps: + - name: Checkout repository + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Use Node.js 16.13.1 + uses: actions/setup-node@v2 + with: + node-version: 16.13.1 + cache: "npm" + + - name: Install NPM dependencies + run: npm ci + + - name: Build Production App + if: ${{ github.event.inputs.buildApp == 'true' }} + run: npm run build + - uses: actions/upload-artifact@v3 + if: ${{ github.event.inputs.buildApp == 'true' }} + with: + name: app + path: | + /dist/main.bundle.js + /dist/main.bundle.js.map + /dist/vendor.bundle.js + /dist/vendor.bundle.js.map + index.html + expire-on: never + + - name: Build Documentation + if: ${{ github.event.inputs.buildDoc == 'true' }} + run: npm run doc + - uses: actions/upload-artifact@v3 + if: ${{ github.event.inputs.buildDoc == 'true' }} + with: + name: markdown + path: /markdown/ + expire-on: never