name: E2E Linux on: # NOTE: If you change these you must update verify_e2e-linux-noop.yml as well pull_request: paths-ignore: - '.changeset/**' - 'contrib/**' - 'docs/**' - 'microsite/**' - 'beps/**' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build: runs-on: ubuntu-latest services: postgres: image: postgres:12 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: postgres ports: - 5432/tcp # needed because the postgres container does not provide a healthcheck options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 strategy: fail-fast: false matrix: node-version: [18.x, 20.x] env: CI: true NODE_OPTIONS: ${{ matrix.node-version == '20.x' && '--max-old-space-size=8192 --no-node-snapshot' || '--max-old-space-size=8192' }} name: E2E Linux ${{ matrix.node-version }} steps: - name: Harden Runner uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 with: egress-policy: audit - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Configure Git run: | git config --global user.email noreply@backstage.io git config --global user.name 'GitHub e2e user' - name: use node.js ${{ matrix.node-version }} uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install uses: backstage/actions/yarn-install@a674369920067381b450d398b27df7039b7ef635 # v0.6.5 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} - run: yarn tsc - run: yarn backstage-cli repo build - name: run E2E test run: | sudo sysctl fs.inotify.max_user_watches=524288 yarn e2e-test run env: BACKSTAGE_TEST_DISABLE_DOCKER: 1 POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_HOST: localhost POSTGRES_PORT: ${{ job.services.postgres.ports[5432] }}