offline-twitter/.build.yml

72 lines
1.7 KiB
YAML

image: ubuntu/focal
secrets:
- 31c0c342-c396-4190-9637-1c3cedd705a5 # SSH key
- 8803f94a-8b8b-4966-aac7-4b8e24c328ce # Gitlab access token
- c84e3f2c-7c97-4cef-859e-8b13de32a7be # ~/.ssh/known_hosts (gitlab.com)
sources:
- git@gitlab.com:playfulpachyderm/twitter_offline_engine.git
packages:
- wget
- build-essential
- sqlite3
tasks:
- install_go: |
SECONDS=0
wget https://golang.org/dl/go1.16.4.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.16.4.linux-amd64.tar.gz
sudo ln -s /usr/local/go/bin/go /usr/bin/go
duration=$SECONDS
echo "Task completed in $(($duration / 60))m$(($duration % 60))s."
- test_terminal_utils: |
cd twitter_offline_engine/terminal_utils
go get .
go test -bench=. -cover
- test_scraper: |
cd twitter_offline_engine/scraper
go get .
go test -bench=. -cover
- test_persistence: |
cd twitter_offline_engine/persistence
go get .
mkdir test_profiles/
go test -bench=. -cover
- install_golangci-lint: |
SECONDS=0
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sudo sh -s -- -b /usr/local/go/bin v1.40.1
sudo ln /usr/local/go/bin/golangci-lint /usr/bin/golangci-lint
duration=$SECONDS
echo "Task completed in $(($duration / 60))m$(($duration % 60))s."
- lint: |
SECONDS=0
cd twitter_offline_engine
golangci-lint run
duration=$SECONDS
echo "Task completed in $(($duration / 60))m$(($duration % 60))s."
- integration_test: |
SECONDS=0
cd twitter_offline_engine/cmd
./tests.sh
duration=$SECONDS
echo "Task completed in $(($duration / 60))m$(($duration % 60))s."