--- kind: pipeline type: docker name: default steps: - name: fetch image: cirrusci/flutter:dev volumes: - name: deps path: /root/.pub-cache commands: - wget https://git.openprivacy.ca/openprivacy/buildfiles/raw/master/tor/tor - wget https://git.openprivacy.ca/openprivacy/buildfiles/raw/master/tor/torrc - chmod a+x tor - git fetch --tags - echo `git describe --tags` > VERSION - echo `date +%G-%m-%d-%H-%M` > BUILDDATE - flutter pub get - mkdir deploy #- name: quality # image: golang # volumes: # - name: deps # path: /go # commands: # - go list ./... | xargs go vet # - go list ./... | xargs golint # #Todo: fix all the lint errors and add `-set_exit_status` above to enforce linting - name: build-linux image: openpriv/flutter-desktop:dev volumes: - name: deps path: /root/.pub-cache commands: - flutter build linux - mkdir deploy/linux - cp -r build/linux/x64/release/bundle/* deploy/linux - cp /sdks/flutter/bin/cache/artifacts/engine/linux-x64/icudtl.dat deploy/linux - name: build-android image: cirrusci/flutter:dev volumes: - name: deps path: /root/.pub-cache commands: - flutter build appbundle # or build apk --split-per-abi ? - mkdir deploy/android - cp build/app/outputs/bundle/release/app-release.aab deploy/android - name: widget-tests image: cirrusci/flutter:dev volumes: - name: deps path: /root/.pub-cache commands: # - flutter config --enable-linux-desktop - flutter test --coverage - genhtml coverage/lcov.info -o coverage/html # Todo: gonna need more work on container # https://flutter.dev/desktop # requirements: Visual Studio 2019 (not to be confused with Visual Studio Code) with the “Desktop development with C++” workload installed, including all of its default components #- name: build-windows # image: cirrusci/flutter:dev #- volumes: # - name: deps # path: /root/.pub-cache # commands: # - flutter config --enable-windows-desktop # - flutter build windows - name: deploy-buildfiles image: kroniak/ssh-client environment: BUILDFILES_KEY: from_secret: buildfiles_key secrets: [gogs_account_token] when: event: push status: [ success ] commands: - echo $BUILDFILES_KEY > ~/id_rsab64 - base64 -d ~/id_rsab64 > ~/id_rsa - chmod 400 ~/id_rsa - export DIR=flwtch-`cat VERSION`-`cat BUILDDATE` - mv deploy $DIR - cp -r coverage/html $DIR/coverage-tests - cp -r test/failures $DIR/test-failures || true - cd $DIR - find . -type f -exec sha256sum {} \; > ./../sha256s.txt - mv ./../sha256s.txt . - cd .. # TODO: do deployment once files actaully compile - scp -r -o StrictHostKeyChecking=no -i ~/id_rsa $DIR buildfiles@openprivacy.ca:/home/buildfiles/buildfiles/ - name: notify-email image: drillster/drone-email settings: host: build.openprivacy.ca port: 25 skip_verify: true from: drone@openprivacy.ca when: status: [ failure ] - name: notify-gogs image: openpriv/drone-gogs 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: - name: deps temp: {} trigger: repo: flutter/flutter_app branch: trunk event: - push - pull_request