fixup(DeparturesAndMap): allow text wrapping #3017
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: 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 |