diff --git a/.woodpecker/build-docker.yml b/.woodpecker/build-docker.yml new file mode 100644 index 0000000..34588e2 --- /dev/null +++ b/.woodpecker/build-docker.yml @@ -0,0 +1,9 @@ +# https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/ +# https://woodpecker-ci.org/docs/usage/volumes + +pipeline: + docker-go: + image: docker + commands: + - cd .woodpecker/docker + - docker build -f go.dockerfile -t test-image . diff --git a/.woodpecker.yml b/.woodpecker/build.yml similarity index 98% rename from .woodpecker.yml rename to .woodpecker/build.yml index d17e62e..6d81a2e 100644 --- a/.woodpecker.yml +++ b/.woodpecker/build.yml @@ -51,3 +51,6 @@ pipeline: - ./build_dpkg.sh $version - scp offline-twitter-engine_$${version}_all.deb aptrepo@apt.playfulpachyderm.com:/apt-repo/test-repo - ssh aptrepo@apt.playfulpachyderm.com "cd ~/test-repo && ./update.sh" + +depends_on: + - build-docker diff --git a/.woodpecker/docker/go.dockerfile b/.woodpecker/docker/go.dockerfile new file mode 100644 index 0000000..fa95958 --- /dev/null +++ b/.woodpecker/docker/go.dockerfile @@ -0,0 +1,11 @@ +from ubuntu:jammy + +run apt update && apt install -y sudo curl wget build-essential sqlite3 jq git + +# Install go and golangci-lint +run wget https://go.dev/dl/go1.20.4.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.20.4.linux-amd64.tar.gz +env PATH="$PATH:/usr/local/go/bin" +run curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b /usr/local/go/bin v1.53.1 + +# Install project dependencies (so they don't have to be reinstalled on every CI run) +run git clone https://gitlab.com/offline-twitter/twitter_offline_engine.git && cd twitter_offline_engine && go install ./... && cd .. && rm -r twitter_offline_engine