diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000000..484077876a --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,99 @@ +name: CI job - new + +on: + push: + branches-ignore: + - crowdin + paths-ignore: + - "**/*.md" + pull_request: + branches-ignore: + - crowdin + paths-ignore: + - "**/*.md" + +jobs: + tests: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: ["ubuntu-latest", "macos-latest", "windows-latest"] + timeout-minutes: 30 + + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Cache npm packages + uses: actions/cache@v2 + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + - name: Use Node.js 18 + uses: actions/setup-node@v2 + with: + version: 18 + cache: "npm" + - name: Cache Node modules + uses: actions/cache@v2 + with: + path: node_modules + key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-npm- + - name: add git binaries to PATH + if: runner.os == 'Windows' + run: | + echo "C:\Program Files\Git\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + echo "C:\Program Files\Git\mingw64\libexec\git-core" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + - run: npm ci + - run: npm run lint + - run: npm test + + build: + runs-on: ${{ matrix.platform.os }} + needs: tests + strategy: + matrix: + platform: + [ + { os: "ubuntu-latest", cmd: "build:linux" }, + { os: "macos-11", cmd: "build:macos" }, + { os: "windows-latest", cmd: "build:windows" }, + ] + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: get-npm-version + id: package-version + uses: pchynoweth/action-get-npm-version@1.1.1 + - name: Cache npm packages + uses: actions/cache@v2 + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + - name: Use Node.js 18 + uses: actions/setup-node@v2 + with: + version: 18 + cache: "npm" + - name: Cache Node modules + uses: actions/cache@v2 + with: + path: node_modules + key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-npm- + - name: add git binaries to PATH + if: runner.os == 'Windows' + run: | + echo "C:\Program Files\Git\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + echo "C:\Program Files\Git\mingw64\libexec\git-core" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + - run: npm ci + - run: npm run ${{ matrix.platform.cmd }} + shell: bash + env: + VERSION: ${{ steps.package-version.outputs.version}} diff --git a/package.json b/package.json index de930ff55d..bbcbcb945d 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "postinstall": "lerna bootstrap --hoist && electron-builder install-app-deps", "start": "lerna run start --stream", "build": "shx rm -rf dist && lerna run build && npm run pack", - "test": "lerna run lint && lerna run build && lerna run test", + "test": "lerna run test", "coverage": "lerna run coverage", "lint": "lerna run lint", "lint:fix": "lerna run lint:fix",