CI #3102
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: | |
schedule: | |
- cron: '0 3 * * *' # daily, at 3am | |
jobs: | |
frontend: | |
name: Frontend | |
runs-on: ubuntu-latest | |
env: | |
COVERAGE: true | |
JOBS: 1 # See https://git.io/vdao3 for details. | |
# Percy secrets are included here to enable Percy's GitHub integration | |
# on community-submitted PRs | |
PERCY_PROJECT: skylines/skylines | |
PERCY_TOKEN: 81bf0245987c87eb4924eae0b085cb60596f2f0f4d4ffe27e171828535aa6812 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: volta-cli/action@v1 | |
- run: yarn install --frozen-lockfile | |
working-directory: ./ember | |
- run: npx bower install | |
working-directory: ./ember | |
- run: yarn lint:js | |
working-directory: ./ember | |
- run: yarn lint:hbs | |
working-directory: ./ember | |
- run: yarn ember dependency-lint | |
working-directory: ./ember | |
- uses: percy/exec-action@v0.3.1 | |
with: | |
command: yarn test | |
working-directory: ./ember | |
embroider: | |
name: Frontend (embroider) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: volta-cli/action@v1 | |
- run: yarn install --frozen-lockfile | |
working-directory: ./ember | |
- run: npx bower install | |
working-directory: ./ember | |
- run: yarn ember build | |
working-directory: ./ember | |
continue-on-error: true | |
env: | |
USE_EMBROIDER: true | |
backend: | |
name: Backend | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: [2.7, 3.6] | |
steps: | |
- uses: actions/checkout@v2 | |
# Build Docker images | |
- run: docker-compose build --build-arg PYTHON_VERSION=${{ matrix.python-version }} | |
# Run the test suite | |
- run: docker-compose run api pipenv run py.test -vv --color=yes --cov=skylines --cov-report term-missing:skip-covered | |
backend-lint: | |
name: Backend (Lint) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: 3.6 | |
- run: pip install black==20.8b1 | |
- run: black config migrations skylines tests *.py --check | |
deploy: | |
name: Deploy | |
runs-on: ubuntu-latest | |
needs: [frontend, backend, backend-lint] | |
if: github.ref == 'refs/heads/master' && github.event_name == 'push' | |
steps: | |
- name: Start deployment | |
uses: bobheadxi/deployments@v0.5.2 | |
id: deployment | |
with: | |
step: start | |
token: ${{ secrets.GITHUB_TOKEN }} | |
env: production | |
- uses: actions/checkout@v2 | |
- uses: volta-cli/action@v1 | |
- run: yarn install --frozen-lockfile | |
working-directory: ./ember | |
- run: npx bower install | |
working-directory: ./ember | |
- uses: webfactory/ssh-agent@v0.5.2 | |
with: | |
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
- name: Adjust ~/.ssh/known_hosts file | |
run: echo '[skylines.aero]:2222,[212.51.149.149]:2222 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEoPRdvULvcpU92D9NbU3Yan0J9DUkX5S5OnZ/V28rbZH32uWRKemIHunXpHskoPC75nmsa12uDXxtsH02epgNc=' > ~/.ssh/known_hosts | |
- run: yarn ember deploy production --activate --verbose | |
working-directory: ./ember | |
env: | |
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} | |
- name: Update deployment status | |
uses: bobheadxi/deployments@v0.5.2 | |
if: always() | |
with: | |
step: finish | |
token: ${{ secrets.GITHUB_TOKEN }} | |
status: ${{ job.status }} | |
env_url: https://skylines.aero/ | |
deployment_id: ${{ steps.deployment.outputs.deployment_id }} |