mirror of
https://github.com/inaturalist/iNaturalistReactNative.git
synced 2025-12-23 22:18:36 -05:00
* fix: set up Ruby before linting in Github Actions * chore: separate linting from fixing Before we commit we want to fix as much as possible, but when we're checking a pull request we're not going to commit anything so we want to know about all the problems, including the fixable ones.
60 lines
1.2 KiB
YAML
60 lines
1.2 KiB
YAML
##
|
|
# Run tests
|
|
##
|
|
name: Tests
|
|
on:
|
|
pull_request:
|
|
push:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
test:
|
|
name: Run tests
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check out Git repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Node.js, NPM and Yarn
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 18
|
|
|
|
- name: Cache node modules
|
|
uses: actions/cache@v4
|
|
id: cache
|
|
with:
|
|
path: node_modules
|
|
key: node-modules-${{ hashFiles('**/package-lock.json') }}
|
|
|
|
- name: Install dependencies
|
|
if: steps.cache.outputs.cache-hit != 'true'
|
|
run: npm install
|
|
|
|
# Need this for linting Ruby
|
|
- name: Install Ruby and gems
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
bundler-cache: true
|
|
|
|
- name: Lint
|
|
run: npm run lint
|
|
|
|
- name: Test
|
|
run: npm test
|
|
|
|
notify:
|
|
name: Notify Slack
|
|
needs: test
|
|
if: ${{ success() || failure() }}
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: iRoachie/slack-github-actions@v2.3.0
|
|
if: env.SLACK_WEBHOOK_URL != null
|
|
env:
|
|
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_BUILDS_WEBHOOK_URL }}
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|