CI #3177
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/[email protected] | |
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/[email protected] | |
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/[email protected] | |
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/[email protected] | |
if: always() | |
with: | |
step: finish | |
token: ${{ secrets.GITHUB_TOKEN }} | |
status: ${{ job.status }} | |
env_url: https://skylines.aero/ | |
deployment_id: ${{ steps.deployment.outputs.deployment_id }} |