forked from simonw/til
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
101 lines (90 loc) · 3.5 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
stages:
- 🩻 scan
- 🔬 observe
- 🚀 deploy
- 👽 ...and beyond
variables:
GIT_DEPTH: 0
GIT_STRATEGY: "clone"
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
cache:
paths:
- .cache/pip
- node_modules/
mkdocs:
needs: []
stage: 👽 ...and beyond
trigger:
project: brie/mkdocstil
check deployment:
needs: ["update TIL.brie.dev"]
stage: 👽 ...and beyond
trigger:
project: brie/test-tils
rules:
- if: '$CI_COMMIT_MESSAGE == "🤖 Beep boop: Updated README"'
when: manual
- when: always
update TIL.brie.dev:
stage: 🚀 deploy
image: node:19-slim
environment:
name: staging/TIL.db
url: https://s3.amazonaws.com/til.brie.dev/tils.db
artifacts:
paths:
- tils.db
script:
- apt-get update && apt-get install curl git python3 python3-pip python3-venv unzip wget -y
- npm i -g vercel
- python3 -m pip install --upgrade pip
- pip install -r requirements.txt
# - curl --fail -o tils.db https://s3.us-east-2.amazonaws.com/til.brie.dev/tils.db
- python3 build_database.py # This is our goal.
- datasette . --get / | grep "Carranza"
- python3 update_readme.py --rewrite
- ln -s /usr/bin/python3 /usr/local/bin/python
- curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
- ls -ahls "awscli-bundle.zip"
- unzip "awscli-bundle.zip"
- ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
- /usr/local/bin/aws --version
- /usr/local/bin/aws configure set region us-east-2
- /usr/local/bin/aws s3 cp tils.db s3://$S3_BUCKET/tils.db
- /usr/local/bin/aws s3 ls s3://$S3_BUCKET/tils.db
- wget -S --quiet https://latest.datasette.io/fixtures.db
- datasette publish vercel tils.db fixtures.db --token $NOW_TOKEN --project til --scope briecarranza-gmailcom --metadata metadata.yaml --static static:static --install datasette-template-sql --install "datasette-sitemap>=1.0" --install "datasette-atom>=0.7" --install datasette-json-html --install beautifulsoup4 --install "datasette-debug-asgi>=1.1" --install "datasette-graphql>=0.12" --install datasette-media --install datasette-block-robots --plugins-dir plugins --template-dir templates --public
- git status
- git config --global user.email "[email protected]"
- git config --global user.name "Brie Carranza"
- ./commit.sh
#- git commit -m "🤖 Beep boop: Updated README for commit $CI_COMMIT_SHORT_SHA [skip ci]" README.md || echo "No changes, nothing to commit!"
- git remote rm origin && git remote add origin https://brie:${TIL_TOKEN}@gitlab.com/$CI_PROJECT_PATH.git
#- git push -o ci.skip origin main # HEAD:$CI_COMMIT_REF_NAME # Pushes to the same branch as the trigger
rules:
- if: '$CI_COMMIT_MESSAGE == "🤖 Beep boop: Updated README"'
when: manual
- when: always
---
include:
- template: Verify/Browser-Performance.gitlab-ci.yml
- template: Code-Quality.gitlab-ci.yml
- template: Jobs/Dependency-Scanning.gitlab-ci.yml
browser_performance:
stage: 🔬 observe
variables:
URL: https://til.brie.dev
artifacts:
paths:
- sitespeed-results/
- performance.json
reports:
performance: performance.json
pages:
stage: 🚀 deploy
needs: ["browser_performance"]
script:
- mv sitespeed-results public
artifacts:
paths:
- public/