Skip to content

Going back to the old way of running e2e specs #760

Going back to the old way of running e2e specs

Going back to the old way of running e2e specs #760

Workflow file for this run

name: Lucky CLI Main CI
on:
push:
branches: [main]
pull_request:
branches: "*"
env:
FORCE_COLOR: 1
LUCKY_ENV: test
jobs:
check_format:
strategy:
fail-fast: false
runs-on: ubuntu-latest
continue-on-error: false
steps:
- uses: actions/checkout@v6
- uses: crystal-lang/install-crystal@v1
with:
crystal: latest
- name: Install shards
run: shards install
- name: Format
run: crystal tool format --check
platform_specs:
needs: check_format
strategy:
fail-fast: false
matrix:
include:
- { os: macos-latest }
- { os: windows-latest }
- { os: ubuntu-latest }
runs-on: ${{matrix.os}}
continue-on-error: false
steps:
- uses: actions/checkout@v6
- uses: crystal-lang/install-crystal@v1
with:
crystal: latest
- name: Install shards
run: shards install
- name: Run unit and integration specs
run: crystal spec spec/integration/ spec/unit/
# NOTE: These e2e specs will take a while to run
browser_with_auth:
needs: [check_format, platform_specs]
strategy:
fail-fast: false
matrix:
include:
# - { os: macos-latest }
# - { os: windows-latest }
- { os: ubuntu-latest }
runs-on: ${{matrix.os}}
continue-on-error: false
steps:
- uses: actions/checkout@v6
- name: Setup PostgreSQL
uses: ikalnytskyi/action-setup-postgres@v8
with:
username: postgres
password: postgres
port: 5432
postgres-version: 18
- uses: crystal-lang/install-crystal@v1
with:
crystal: latest
- name: Install shards
run: shards install --skip-postinstall --skip-executables
- name: Install LuckyCLI
run: |
crystal build src/lucky.cr
pwd >> $GITHUB_PATH
- name: Setup upterm session
uses: owenthereal/action-upterm@v1
with:
limit-access-to-actor: true
- name: Run e2e Browser app with authentication flow
run: crystal spec spec/end_to_end/browser_with_auth_spec.cr
env:
SHARDS_OVERRIDE: "$(pwd)/shard.override.yml"
# browser_without_auth:
# needs: [check_format, platform_specs]
# strategy:
# fail-fast: false
# matrix:
# include:
# - { os: macos-latest }
# - { os: windows-latest }
# - { os: ubuntu-latest }
# runs-on: ${{matrix.os}}
# continue-on-error: false
# steps:
# - uses: actions/checkout@v6
# - name: Setup PostgreSQL
# uses: ikalnytskyi/action-setup-postgres@v8
# with:
# username: postgres
# password: postgres
# port: 5432
# postgres-version: 18
# - uses: crystal-lang/install-crystal@v1
# with:
# crystal: latest
# - name: Install shards
# run: shards install --skip-postinstall --skip-executables
# - name: Install LuckyCLI
# run: |
# crystal build src/lucky.cr
# pwd >> $GITHUB_PATH
# - name: Run e2e Browser app with authentication flow
# run: crystal spec spec/end_to_end/browser_no_auth_spec.cr
# env:
# SHARDS_OVERRIDE: "$(pwd)/shard.override.yml"