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." - compile: | SECONDS=0 cd twitter_offline_engine/cmd go build -o ../../twitter ./twitter cd ../.. chmod +x twitter sudo mv twitter /usr/local/bin which twitter duration=$SECONDS echo "Task completed in $(($duration / 60))m$(($duration % 60))s."