autobindings/.drone.yml

171 lines
4.3 KiB
YAML
Raw Normal View History

2023-03-01 20:16:43 +00:00
---
kind: pipeline
type: docker
name: linux-android-windows-test
steps:
- name: fetch
image: openpriv/go-cross-compile:2024.02
2023-03-01 20:16:43 +00:00
volumes:
- name: deps
path: /go
commands:
- go install honnef.co/go/tools/cmd/staticcheck@latest
- go install go.uber.org/nilaway/cmd/nilaway@latest
- wget https://git.openprivacy.ca/openprivacy/buildfiles/raw/branch/master/tor/tor-0.4.8.9-linux-x86_64.tar.gz -O tor.tar.gz
- tar -xzf tor.tar.gz
- chmod a+x Tor/tor
- export PATH=$PWD/Tor/:$PATH
- export LD_LIBRARY_PATH=$PWD/Tor/
- tor --version
- export GO111MODULE=on
2023-03-01 20:16:43 +00:00
- git fetch --tags
- go mod download
- echo `git describe --tags` > VERSION
- echo `git log -1 --format=%cd --date=format:%G-%m-%d-%H-%M` > COMMIT_DATE
- export GOSUMDB="off"
2023-03-01 20:16:43 +00:00
- name: build-linux
image: openpriv/go-cross-compile:2024.02
2023-03-01 20:16:43 +00:00
volumes:
- name: deps
path: /go
commands:
2023-03-01 20:27:59 +00:00
- make clean
# Compile Server Experiments
2023-03-01 20:16:43 +00:00
- make linux
- name: build-android
image: openpriv/go-cross-compile:2024.02
2023-03-01 20:16:43 +00:00
volumes:
- name: deps
path: /go
commands:
# Build Android without Server Experiment
- make clean-autobindings
- env EXPERIMENTS="" make lib.go
2023-03-01 20:16:43 +00:00
- go mod download
- gomobile init
- make android
- name: build-windows
image: openpriv/go-cross-compile:2024.02
2023-03-01 20:16:43 +00:00
environment:
GOPATH: /go
volumes:
- name: deps
path: /go
commands:
- make clean-autobindings
2023-03-01 20:16:43 +00:00
- make windows
- name: deploy-buildfiles
image: openpriv/go-cross-compile:2024.02
2023-03-01 20:16:43 +00:00
pull: if-not-exists
environment:
BUILDFILES_KEY:
from_secret: buildfiles_key
secrets: [gogs_account_token]
when:
event:
- push
- tag
status: [ success ]
commands:
- echo $BUILDFILES_KEY > ~/id_rsab64
- base64 -d ~/id_rsab64 > ~/id_rsa
- chmod 400 ~/id_rsa
2023-03-13 20:50:14 +00:00
- export DIR=libCwtch-autobindings-`cat COMMIT_DATE`-`cat VERSION`
2023-03-01 21:53:08 +00:00
- mkdir -p $DIR
2023-03-13 20:50:14 +00:00
- mv build/* $DIR/
2023-03-01 20:16:43 +00:00
- cd $DIR
2023-03-13 20:50:14 +00:00
- find . -type f -exec sha512sum {} \; > ./../sha512sum.txt
- mv ./../sha512sum.txt .
2023-03-01 20:16:43 +00:00
- cd ..
- scp -r -o StrictHostKeyChecking=no -i ~/id_rsa $DIR buildfiles@build.openprivacy.ca:/home/buildfiles/buildfiles/
- name: notify-gogs
image: openpriv/drone-gogs
pull: if-not-exists
when:
event: pull_request
status: [ success, changed, failure ]
environment:
GOGS_ACCOUNT_TOKEN:
from_secret: gogs_account_token
settings:
gogs_url: https://git.openprivacy.ca
volumes:
# gopath where bin and pkg lives to persist across steps
- name: deps
temp: {}
trigger:
2023-03-01 21:47:42 +00:00
repo: cwtch.im/autobindings
2023-03-01 21:49:34 +00:00
branch: main
2023-03-01 20:16:43 +00:00
event:
- push
- pull_request
- tag
---
kind: pipeline
type: exec
name: macos
platform:
os: darwin
arch: amd64
steps:
- name: fetch
commands:
- export PATH=$PATH:/usr/local/go/bin/
- git fetch --tags
- echo `git describe --tags` > VERSION
- echo `git log -1 --format=%cd --date=format:%G-%m-%d-%H-%M` > COMMIT_DATE
2023-03-01 20:16:43 +00:00
- name: build-macos-x64
commands:
- export PATH=$PATH:/usr/local/go/bin/
2023-04-05 02:59:53 +00:00
- env EXPERIMENTS="serverExperiment" make lib.go
2023-03-01 20:16:43 +00:00
- make libCwtch.x64.dylib
- name: build-macos-arm64
when:
event:
- push
status: [ success ]
commands:
- export PATH=$PATH:/usr/local/go/bin/
- make clean-autobindings
- env EXPERIMENTS="serverExperiment" make lib.go
2023-03-01 20:22:46 +00:00
- go mod download
2023-03-01 20:16:43 +00:00
- make libCwtch.arm64.dylib
- name: deploy-buildfiles
environment:
BUILDFILES_KEY:
from_secret: buildfiles_key
when:
event:
- push
status: [ success ]
commands:
- echo $BUILDFILES_KEY > ~/id_rsab64
2024-01-03 17:55:51 +00:00
- base64 -d -i ~/id_rsab64 -o ~/id_rsa
2023-03-01 20:16:43 +00:00
- chmod 400 ~/id_rsa
2023-03-13 20:50:14 +00:00
- export DIR=libCwtch-autobindings-`cat COMMIT_DATE`-`cat VERSION`
2023-03-01 21:53:08 +00:00
- mkdir -p $DIR
2023-03-13 20:50:14 +00:00
- mv build/* $DIR/
2023-03-01 20:16:43 +00:00
- cd $DIR
2023-03-13 20:50:14 +00:00
- find . -type f -exec shasum -a 512 {} \; > ./../macsha512s.txt
- mv ./../macsha512s.txt .
2023-03-01 20:16:43 +00:00
- cd ..
- scp -r -o StrictHostKeyChecking=no -i ~/id_rsa $DIR buildfiles@build.openprivacy.ca:/home/buildfiles/buildfiles/
trigger:
2023-03-01 21:45:54 +00:00
repo: cwtch.im/autobindings
2023-03-01 21:49:34 +00:00
branch: main
2023-03-01 20:16:43 +00:00
event:
- push
- pull_request