diff --git a/.github/workflows/develop-ci.yml b/.github/workflows/develop-ci.yml new file mode 100644 index 0000000..3f0e797 --- /dev/null +++ b/.github/workflows/develop-ci.yml @@ -0,0 +1,45 @@ +name: Develop Branch CI + +on: + pull_request: + branches: ['develop'] + +jobs: + build-and-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Detect package manager + id: detect-package-manager + run: | + if [ -f "${{ github.workspace }}/package.json" ]; then + echo "manager=npm" >> $GITHUB_OUTPUT + echo "command=ci" >> $GITHUB_OUTPUT + echo "runner=npx --no-install" >> $GITHUB_OUTPUT + exit 0 + elif [ -f "${{ github.workspace }}/yarn.lock" ]; then + echo "manager=yarn" >> $GITHUB_OUTPUT + echo "command=install" >> $GITHUB_OUTPUT + echo "runner=yarn" >> $GITHUB_OUTPUT + exit 0 + else + echo "Unable to determine package manager" + exit 1 + fi + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: '20.9.0' + cache: ${{ steps.detect-package-manager.outputs.manager }} + + - name: Install dependencies + run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }} + + - name: Build project + run: ${{ steps.detect-package-manager.outputs.runner }} next build + + - name: Run tests + run: ${{ steps.detect-package-manager.outputs.manager }} run test