diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml new file mode 100644 index 0000000..a3617b2 --- /dev/null +++ b/.github/workflows/Build.yml @@ -0,0 +1,44 @@ +name: Build & Deploy + +on: + push: + branches: ["main"] + + pull_request: + branches: ["main"] + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [18.x] + + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: "npm" + - run: npm ci + - run: npm run build --if-present + - run: npm run test --if-present + + - uses: a7ul/tar-action@v1.1.0 + with: + command: c + cwd: "./" + files: | + backend/ + frontend/dist/ + captain-definition + outPath: deploy.tar + + - name: Deploy App to CapRover + uses: caprover/deploy-from-github@v1.0.1 + with: + server: "${{ secrets.CAPROVER_SERVER }}" + app: "${{ secrets.APP_NAME }}" + token: "${{ secrets.APP_TOKEN }}"