Skip to content

Merge pull request #13337 from lizzochek/task/WD-7158 #171

Merge pull request #13337 from lizzochek/task/WD-7158

Merge pull request #13337 from lizzochek/task/WD-7158 #171

Workflow file for this run

name: PR checks
on: [push, pull_request]
env:
SECRET_KEY: insecure_test_key
jobs:
run-image:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v3
- name: Build image
run: DOCKER_BUILDKIT=1 docker build --tag ubuntu-com .
- name: Run image
run: |
docker run --env SECRET_KEY=insecure_secret_key --network host ubuntu-com &
sleep 1
curl --head --fail --retry-delay 1 --retry 30 --retry-connrefused http://localhost
run-dotrun:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dotrun
uses: canonical/install-dotrun@main
- name: Install dependencies
run: /snap/bin/dotrun install
- name: Build assets
run: /snap/bin/dotrun build
- name: Run dotrun
run: |
/snap/bin/dotrun &
curl --head --fail --retry-delay 1 --retry 30 --retry-connrefused http://localhost:8001
lint-scss:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: yarn install --immutable
- name: Lint scss
run: yarn lint-scss
check-prettier:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: yarn install --immutable
- name: Check Prettier
run: yarn check-prettier
lint-python:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install node dependencies
run: yarn install --immutable
- name: Install python dependencies
run: |
python3 -m pip install --upgrade pip
sudo pip3 install flake8 black
- name: Lint python
run: yarn lint-python
validate-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install konf
run: |
sudo snap install konf
sudo chown root:root /
- name: Install Kubeval
run: |
wget https://github.com/instrumenta/kubeval/releases/latest/download/kubeval-linux-amd64.tar.gz
tar xf kubeval-linux-amd64.tar.gz
sudo cp kubeval /usr/local/bin
- name: Validate all sites
run: |
konf staging deploy/site.yaml | kubeval -f -
konf production deploy/site.yaml | kubeval -f -
test-python:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # fetch all history for codecov
- name: Install requirements
run: |
sudo apt-get update && sudo apt-get install --yes python3-setuptools
sudo pip3 install -r requirements.txt
- name: Install dotrun
uses: canonical/install-dotrun@main
- name: Install node dependencies
run: /snap/bin/dotrun install
- name: Install dependencies
run: /snap/bin/dotrun exec pip3 install coverage
- name: Build resources
run: /snap/bin/dotrun build
- name: Run tests with coverage
run: /snap/bin/dotrun --env SEARCH_API_KEY=fake-key exec coverage run --source=. -m unittest discover tests
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
flags: python
test-js:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # fetch all history for codecov
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Install dependencies
run: yarn install --immutable
- name: Test JS
run: |
yarn test-js --coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
flags: javascript
lint-js:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: yarn install --immutable
- name: Lint JS
run: |
yarn lint-js
lint-ts:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: yarn install --immutable
- name: Lint TS
run: |
yarn lint-ts
Inclusive-naming-check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: woke
uses: canonical-web-and-design/inclusive-naming@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
reporter: github-pr-check
fail-on-error: false