feat: save language selection as cookie #6042
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Integration | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- master | |
- develop | |
pull_request: | |
types: [opened, synchronize] | |
paths-ignore: | |
- '**.md' | |
- 'docs/**' | |
env: | |
NODE_VERSION: 18.16.0 | |
NODE_OPTIONS: --max_old_space_size=8192 | |
ICM_BASE_URL: http://pwa-review.northeurope.cloudapp.azure.com:8081 | |
jobs: | |
CancelPrevious: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Cancel Old Pipeline | |
if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/master' && github.ref != 'refs/heads/develop'" | |
uses: rokroskar/workflow-run-cleanup-action@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
Build: | |
needs: [CancelPrevious] | |
runs-on: ubuntu-latest | |
env: | |
TESTING: true | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: npm | |
- name: Install root dependencies | |
run: npm ci | |
- name: Disable ServiceWorker | |
run: node schematics/customization/service-worker false | |
- name: Build SSR | |
run: npm run build:multi | |
- name: Upload Build Output | |
uses: actions/upload-artifact@v3 | |
with: | |
name: dist | |
path: dist | |
Universal: | |
needs: [Build] | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
test: ['b2c', 'b2b'] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: npm | |
- name: Download Build Output | |
uses: actions/download-artifact@v3 | |
with: | |
name: dist | |
path: dist | |
- name: Set Environment | |
run: | | |
echo "LOGGING=true" >> $GITHUB_ENV | |
- name: Set B2C Environment | |
if: matrix.test == 'b2c' | |
run: | | |
echo "THEME=b2c" >> $GITHUB_ENV | |
- name: Set B2B Environment | |
if: matrix.test == 'b2b' | |
run: | | |
echo "THEME=b2b" >> $GITHUB_ENV | |
- name: Test Universal | |
run: | | |
node dist/$THEME/run-standalone & | |
sh e2e/test-universal.sh | |
Cypress: | |
needs: [Build, Universal] | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
test: ['b2c', 'b2b'] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install e2e dependencies | |
run: cd e2e && npm i | |
- name: Download Build Output | |
uses: actions/download-artifact@v3 | |
with: | |
name: dist | |
path: dist | |
- name: Set Environment | |
run: | | |
echo "PWA_BASE_URL=http://localhost:4200" >> $GITHUB_ENV | |
echo "LOGGING=true" >> $GITHUB_ENV | |
echo "BROWSER=chrome" >> $GITHUB_ENV | |
- name: Set B2C Environment | |
if: matrix.test == 'b2c' | |
run: | | |
echo "THEME=b2c" >> $GITHUB_ENV | |
- name: Set B2B Environment | |
if: matrix.test == 'b2b' | |
run: | | |
echo "THEME=b2b" >> $GITHUB_ENV | |
- name: Start SSR | |
run: | | |
node dist/$THEME/run-standalone & | |
- name: Cypress | |
uses: cypress-io/github-action@v4 | |
with: | |
install: false | |
wait-on: 'http://localhost:4200' | |
wait-on-timeout: 180 | |
working-directory: e2e | |
command: npx ts-node cypress-ci-e2e **/*${{ matrix.test }}*.e2e-spec.ts | |
- name: Upload Screenshots | |
uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: screenshots | |
path: e2e/cypress/screenshots | |
- name: Upload Videos | |
uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: videos | |
path: e2e/cypress/videos | |
Shellspec: | |
needs: [CancelPrevious] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Execute shellspec tests | |
run: | | |
docker run --rm -v "${{ github.workspace }}/nginx/docker-entrypoint.d:/src" shellspec/shellspec |