offline-twitter/.build.yml

127 lines
3.7 KiB
YAML
Raw Normal View History

2021-05-17 14:19:52 -04:00
image: ubuntu/focal
secrets:
- 31c0c342-c396-4190-9637-1c3cedd705a5 # SSH key
2021-11-29 14:18:20 -08:00
- 4e6bb736-559c-4b3e-ba04-331f5808cacc # aptrepo SSH key (to upload the build result to apt.playfulpachyderm.com)
2021-05-17 14:19:52 -04:00
- 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
2021-08-02 17:08:43 -07:00
- sqlite3
2021-05-17 14:19:52 -04:00
tasks:
2021-11-29 14:32:49 -08:00
- source_code_checkout_kludge: |
SECONDS=0
cd twitter_offline_engine
basename $GITLAB_REF | xargs git checkout
duration=$SECONDS
echo "Task completed in $(($duration / 60))m$(($duration % 60))s."
2021-05-17 14:45:48 -04:00
- install_go: |
2021-05-17 14:19:52 -04:00
SECONDS=0
wget https://golang.org/dl/go1.16.4.linux-amd64.tar.gz
2021-05-17 14:45:48 -04:00
sudo tar -C /usr/local -xzf go1.16.4.linux-amd64.tar.gz
sudo ln -s /usr/local/go/bin/go /usr/bin/go
2021-05-17 14:19:52 -04:00
duration=$SECONDS
echo "Task completed in $(($duration / 60))m$(($duration % 60))s."
2021-07-23 19:59:33 -07:00
- test_terminal_utils: |
2021-11-29 14:32:49 -08:00
SECONDS=0
2021-07-23 19:59:33 -07:00
cd twitter_offline_engine/terminal_utils
go get .
go test -bench=. -cover
2021-11-29 14:32:49 -08:00
duration=$SECONDS
echo "Task completed in $(($duration / 60))m$(($duration % 60))s."
2021-06-27 13:31:30 -07:00
- test_scraper: |
2021-11-29 14:32:49 -08:00
SECONDS=0
2021-05-17 14:19:52 -04:00
cd twitter_offline_engine/scraper
2021-06-27 13:46:18 -07:00
go get .
2021-06-27 13:31:30 -07:00
go test -bench=. -cover
2021-11-29 14:32:49 -08:00
duration=$SECONDS
echo "Task completed in $(($duration / 60))m$(($duration % 60))s."
2021-06-27 13:31:30 -07:00
- test_persistence: |
2021-11-29 14:32:49 -08:00
SECONDS=0
2021-06-27 13:31:30 -07:00
cd twitter_offline_engine/persistence
2021-06-27 13:46:18 -07:00
go get .
2021-06-27 13:31:30 -07:00
mkdir test_profiles/
go test -bench=. -cover
2021-06-14 13:08:38 -07:00
2021-11-29 14:32:49 -08:00
duration=$SECONDS
echo "Task completed in $(($duration / 60))m$(($duration % 60))s."
2021-06-14 13:08:38 -07:00
- 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: |
2021-06-14 13:08:38 -07:00
SECONDS=0
cd twitter_offline_engine
2021-06-27 13:31:30 -07:00
golangci-lint run
duration=$SECONDS
echo "Task completed in $(($duration / 60))m$(($duration % 60))s."
2021-08-02 14:46:06 -07:00
- integration_test: |
SECONDS=0
cd twitter_offline_engine/cmd
./tests.sh
duration=$SECONDS
echo "Task completed in $(($duration / 60))m$(($duration % 60))s."
2021-11-29 14:18:20 -08:00
- dpkg_build: |
2021-11-29 14:32:49 -08:00
SECONDS=0
cd twitter_offline_engine/build
2021-11-29 15:31:10 -08:00
version=$(git branch --show-current | grep -Poh "(?<=^release-)\d+\.\d+\.\d+"); true
2021-11-29 14:18:20 -08:00
if [[ -z "$version" ]]
then
# Not on a release branch; just exit this task
exit
fi
./build_dpkg.sh $version
duration=$SECONDS
echo "Task completed in $(($duration / 60))m$(($duration % 60))s."
- upload_dpkg: |
2021-11-29 15:23:16 -08:00
SECONDS=0
2021-11-29 14:18:20 -08:00
2021-11-29 15:38:27 -08:00
echo "|1|wHeqDXntszAtw63JZ2a8lRFNkzo=|i4RPdW3eWWGZFcRx6ttH66pryWw= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFOHLdwogAIaEhVmUCgKMyHQpWsdBH7k29vMs9mrPoAhD9xdtmil0/wLniyBkflqOAPF/XXvsqYb6+lgGYRN40U=" >> ~/.ssh/known_hosts
echo "|1|CMeJL187AvCdC7uMVPZPP8JtmgY=|24sUol3rn1+7sGBbXkhOSNO/5Q4= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFOHLdwogAIaEhVmUCgKMyHQpWsdBH7k29vMs9mrPoAhD9xdtmil0/wLniyBkflqOAPF/XXvsqYb6+lgGYRN40U=" >> ~/.ssh/known_hosts
2021-11-29 15:23:16 -08:00
cd twitter_offline_engine/build
scp -i ~/.ssh/4e6bb736-559c-4b3e-ba04-331f5808cacc offline-twitter-engine_${version}_all.deb aptrepo@apt.playfulpachyderm.com:/apt-repo/test-repo
ssh -i ~/.ssh/4e6bb736-559c-4b3e-ba04-331f5808cacc aptrepo@apt.playfulpachyderm.com "cd ~/test-repo && ./update.sh"
2021-11-29 14:18:20 -08:00
2021-11-29 15:23:16 -08:00
duration=$SECONDS
echo "Task completed in $(($duration / 60))m$(($duration % 60))s."