diff --git a/.github/workflows/web-server-build-check.yml b/.github/workflows/web-server-build-check.yml new file mode 100644 index 00000000..5b1ee3c8 --- /dev/null +++ b/.github/workflows/web-server-build-check.yml @@ -0,0 +1,37 @@ +name: Build-Check + +on: + push: + branches: [dev] + paths: + - "mirror-web-server/**" + pull_request: + branches: [dev] + paths: + - "mirror-web-server/**" + +jobs: + # This runs the same command as GCP build but is far faster since it doesn't deploy to Cloud Run. Can be useful for debugging + Build-Command: + runs-on: ubuntu-latest + + defaults: + run: + working-directory: mirror-web-server + + strategy: + matrix: + node-version: [18.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: "yarn" + cache-dependency-path: mirror-web-server/yarn.lock + + - run: yarn install --frozen-lockfile + - run: yarn gcp-build diff --git a/.github/workflows/web-server-tests.yml b/.github/workflows/web-server-tests.yml new file mode 100644 index 00000000..5f67f601 --- /dev/null +++ b/.github/workflows/web-server-tests.yml @@ -0,0 +1,64 @@ +# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions +name: Tests + +on: + push: + branches: [dev] + paths: + - "mirror-web-server/**" + pull_request: + branches: [dev] + paths: + - "mirror-web-server/**" + +jobs: + Unit: + runs-on: ubuntu-latest + + defaults: + run: + working-directory: mirror-web-server + + strategy: + matrix: + node-version: [18.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: "yarn" + cache-dependency-path: mirror-web-server/yarn.lock + + - run: yarn install --frozen-lockfile + - run: yarn lint:ci + - run: yarn test:ci + + Integration: + runs-on: ubuntu-latest + + defaults: + run: + working-directory: mirror-web-server + + strategy: + matrix: + node-version: [18.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: "yarn" + cache-dependency-path: mirror-web-server/yarn.lock + + - run: yarn install --frozen-lockfile + - run: yarn lint:ci + - run: yarn test:int:ci