diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..3e674b2 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,51 @@ +name: Node.js CI - Dockge + +on: + push: + branches: [master] + paths-ignore: + - '*.md' + pull_request: + branches: [master] + paths-ignore: + - '*.md' + +jobs: + ci: + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + node: [18.x, 20.x] # Can be changed + runs-on: ${{ matrix.os }} + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Setup Node.js + with: + node-version: ${{matrix.node}} + + - uses: pnpm/action-setup@v2 + name: Install pnpm + with: + version: 8 + run_install: false + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - uses: actions/cache@v3 + name: Setup pnpm cache + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: pnpm install + + # more things can be add later like tests etc.. +