Skip to content

fixup(DeparturesAndMap): allow text wrapping #3017

fixup(DeparturesAndMap): allow text wrapping

fixup(DeparturesAndMap): allow text wrapping #3017

Workflow file for this run

name: CI
on:
push:
branches: [master]
pull_request:
# Don't bother running if it's just a script or docs change
paths-ignore:
- "bin/**"
- Dockerfile
- "*.sh"
- "*.md"
- AUTHORS
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
env:
MIX_ENV: test
V3_URL: ${{ secrets.V3_URL }}
V3_API_KEY: ${{ secrets.V3_API_KEY }}
jobs:
# Report file changes by extensions
# Used to determine which tests to run
file_changes:
name: File changes
uses: ./.github/workflows/changed-files.yml
with:
# If it's a Dependabot PR, or a push to master, we want to run every test
force: ${{ github.event_name == 'push' || contains(github.head_ref, 'dependabot/hex') || contains(github.head_ref, 'dependabot/npm_and_yarn') }}
eslintts:
name: Linting / TypeScript
runs-on: ubuntu-20.04
needs: file_changes
if: ${{ needs.file_changes.outputs.ts }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-all
- run: npm run ci:lint:ts
jslint:
name: Linting / JavaScript
runs-on: ubuntu-20.04
needs: file_changes
if: ${{ needs.file_changes.outputs.js }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-all
- run: npm run ci:lint:js
stylelint:
name: Linting / CSS
runs-on: ubuntu-20.04
needs: file_changes
if: ${{ needs.file_changes.outputs.scss }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-all
- run: npm run ci:lint:scss
elixirlint:
name: Linting / Elixir
runs-on: ubuntu-20.04
needs: file_changes
if: ${{ needs.file_changes.outputs.ex }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-all
- run: npm run ci:lint:ex
elixir_unit:
name: Unit tests / Elixir / --exclude wallaby --cover
runs-on: ubuntu-20.04
needs: file_changes
if: ${{ needs.file_changes.outputs.ex }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/build-app
- env:
RECAPTCHA_PUBLIC_KEY: 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
RECAPTCHA_PRIVATE_KEY: 6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
run: npm run ci:unit:exunit
- name: Upload coverage artifact
if: ${{ always() && github.event.pull_request }}
uses: actions/upload-artifact@v2
with:
name: Elixir test coverage report
path: cover/
js_unit_1:
name: Unit tests / JavaScript / Mocha
runs-on: ubuntu-20.04
needs: file_changes
if: ${{ needs.file_changes.outputs.js }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-all
- run: npm run ci:unit:mocha
js_unit_2:
name: Unit tests / JavaScript & TypeScript / Jest
runs-on: ubuntu-20.04
needs: file_changes
if: ${{ needs.file_changes.outputs.ts || needs.file_changes.outputs.js }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/build-app
- run: TZ="America/New_York" npm run ci:unit:jest
type_dialyzer:
name: Type checks / Elixir
runs-on: ubuntu-20.04
needs: file_changes
if: ${{ needs.file_changes.outputs.ex }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-all
- uses: mbta/actions/dialyzer@v1
type_typescript:
name: Type checks / TypeScript
runs-on: ubuntu-20.04
needs: file_changes
if: ${{ needs.file_changes.outputs.ts }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-all
- run: npm run ci:types:ts
elixir_format_check:
name: Formatting / Elixir
runs-on: ubuntu-20.04
needs: file_changes
if: ${{ needs.file_changes.outputs.ex }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-all
- run: npm run ci:format:ex
js_format_check:
name: Formatting / JavaScript & TypeScript
runs-on: ubuntu-20.04
needs: file_changes
if: ${{ needs.file_changes.outputs.js || needs.file_changes.outputs.ts }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-all
- run: npm run ci:format:ts
elixir_wallaby:
name: Integration tests / Elixir
runs-on: ubuntu-20.04
needs: file_changes
if: ${{ needs.file_changes.outputs.ex }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/build-app
- name: Install Chrome and ChromeDriver
shell: bash
# credits to https://github.com/logikal-io/install-chrome/blob/main/action.yml
run: |-
# Install Chrome
ENDPOINT='https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable'
echo 'Installing Chrome'
wget "${ENDPOINT}/google-chrome-stable_115.0.5790.110-1_amd64.deb" \
--progress=dot:giga -O /tmp/chrome.deb
sudo apt-get install --allow-downgrades -y /tmp/chrome.deb
rm /tmp/chrome.deb
# Install ChromeDriver
ENDPOINT='https://chromedriver.storage.googleapis.com'
RELEASE="$(google-chrome --version | sed -E 's/.* ([0-9]+\.[0-9]+\.[0-9]+).*/\1/')"
DRIVER_VERSION="$(wget --no-verbose -O - "${ENDPOINT}/LATEST_RELEASE_${RELEASE}")";
echo "Installing ChromeDriver ${DRIVER_VERSION}"
wget "${ENDPOINT}/${DRIVER_VERSION}/chromedriver_linux64.zip" \
--progress=dot:giga -O /tmp/chromedriver.zip
sudo rm -rf /opt/chromedriver
sudo mkdir -p /opt/chromedriver
sudo unzip /tmp/chromedriver.zip -d /opt/chromedriver
sudo chmod +x /opt/chromedriver/chromedriver
sudo ln -sf /opt/chromedriver/chromedriver /usr/local/bin/chromedriver
rm /tmp/chromedriver.zip
- env:
RECAPTCHA_PUBLIC_KEY: 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
RECAPTCHA_PRIVATE_KEY: 6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
run: npm run ci:integration:ex
cypress:
name: Integration tests / Cypress
runs-on: ubuntu-20.04
needs: file_changes
if: ${{ needs.file_changes.outputs.ex || needs.file_changes.outputs.js || needs.file_changes.outputs.ts }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/build-app
- env:
RECAPTCHA_PUBLIC_KEY: 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
RECAPTCHA_PRIVATE_KEY: 6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
run: npm run ci:integration:cypress