Bump eslint from 9.9.1 to 9.17.0 #130
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: Test Baselayer Template App | |
on: [push, pull_request] | |
jobs: | |
test: | |
name: Test Template App | |
runs-on: ubuntu-latest | |
services: | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_USER: template_app | |
POSTGRES_PASSWORD: anything | |
ports: | |
- 5432:5432 | |
# needed because the postgres container does not provide a | |
# healthcheck | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
steps: | |
- uses: actions/setup-python@v1 | |
with: | |
python-version: "3.8" | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: actions/cache@v2 | |
with: | |
path: | | |
~/.npm | |
key: ${{ runner.os }}-npm-${{ hashFiles('package.json') }} | |
- uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cache/pip | |
key: ${{ runner.os }}-${{ hashFiles('**/requirements*.txt') }} | |
- name: Install system dependencies | |
run: | | |
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - | |
sudo apt install -y wget nodejs unzip firefox nginx | |
pip install --upgrade pip | |
pip install wheel | |
export NPM_PACKAGES="${HOME}/.npm-packages" | |
export PATH=${NPM_PACKAGES}/bin:$PATH | |
export NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH" | |
sudo npm -g install npm@latest | |
which python; python --version | |
echo npm $(npm --version) | |
echo node $(node --version) | |
nginx -v | |
firefox --version | |
- name: Install Geckodriver / Selenium | |
run: | | |
GECKO_VER=0.30.0 | |
CACHED_DOWNLOAD_DIR=~/.local/downloads | |
FILENAME=geckodriver-v${GECKO_VER}-linux64.tar.gz | |
if [[ ! -f ${CACHED_DOWNLOAD_DIR=}/${FILENAME} ]]; then | |
wget https://github.com/mozilla/geckodriver/releases/download/v${GECKO_VER}/${FILENAME} --directory-prefix=${CACHED_DOWNLOAD_DIR} --no-clobber | |
fi | |
sudo tar -xzf ${CACHED_DOWNLOAD_DIR}/geckodriver-v${GECKO_VER}-linux64.tar.gz -C /usr/local/bin | |
geckodriver --version | |
pip install --upgrade selenium | |
python -c "import selenium; print(f'Selenium {selenium.__version__}')" | |
- name: Write configuration & build DB | |
run: | | |
cat << EOF > config.yaml | |
database: | |
database: template_app | |
user: template_app | |
host: localhost | |
port: 5432 | |
password: anything | |
EOF | |
cat << EOF > test_config.yaml | |
database: | |
database: template_app_test | |
user: template_app | |
host: localhost | |
port: 5432 | |
password: anything | |
server: | |
auth: | |
debug_login: True | |
EOF | |
echo "localhost:5432:*:template_app:anything" > ~/.pgpass | |
chmod 600 ~/.pgpass | |
createdb -h localhost -U template_app template_app_test | |
psql -U template_app -h localhost -c "GRANT ALL PRIVILEGES ON DATABASE template_app_test TO template_app;" template_app_test | |
make db_init | |
- name: Test template app | |
run: | | |
make test_headless | |
- name: Lint PR | |
if: ${{ github.ref != 'refs/heads/main' }} | |
run: | | |
pip install pre-commit | |
pre-commit run --from-ref ${{ github.event.pull_request.base.sha }} --to-ref ${{ github.event.pull_request.head.sha }} | |
- name: Lint all | |
if: ${{ github.ref == 'refs/heads/main' }} | |
run: | | |
pip install pre-commit | |
pre-commit run -a | |
- name: Upload logs | |
uses: actions/upload-artifact@v2 | |
if: ${{ always() }} | |
with: | |
name: logs | |
path: log |