kind: pipeline type: docker name: "Release firmware" platform: os: linux arch: amd64 steps: - name: "Update submodules" image: alpine/git commands: - git submodule sync - git -c protocol.version=2 submodule update --init --force --recursive --jobs 4 - git submodule foreach git config --local gc.auto 0 - git log -1 --format='%H' - name: "Build firmware" image: hfdj/fztools pull: never commands: - export DIST_SUFFIX=${DRONE_TAG} - export WORKFLOW_BRANCH_OR_TAG=release-cfw - rm -rf assets/resources/apps/ - rm -rf build/ - rm -rf dist/ - rm -rf .sconsign.dblite - ./fbt COMPACT=1 DEBUG=0 updater_package - mkdir artifacts-default - mv dist/f7-C/* artifacts-default/ - ls -laS artifacts-default - ls -laS artifacts-default/f7-update-${DRONE_TAG} environment: FBT_TOOLS_CUSTOM_LINK: from_secret: fbt_link - name: "Build with extra apps" image: hfdj/fztools pull: never commands: - git clone https://github.com/xMasterX/all-the-plugins.git - cp -R all-the-plugins/apps/* assets/resources/apps/ - rm -rf all-the-plugins - export DIST_SUFFIX=${DRONE_TAG}e - export WORKFLOW_BRANCH_OR_TAG=release-cfw - export FORCE_NO_DIRTY=yes - rm -f build/f7-firmware-C/toolbox/version.* - ./fbt COMPACT=1 DEBUG=0 updater_package - mkdir artifacts-extra-apps - mv dist/f7-C/* artifacts-extra-apps/ - ls -laS artifacts-extra-apps - ls -laS artifacts-extra-apps/f7-update-${DRONE_TAG}e environment: FBT_TOOLS_CUSTOM_LINK: from_secret: fbt_link - name: "Build with RGB patch" image: hfdj/fztools pull: never commands: - git apply .ci_files/rgb.patch - export DIST_SUFFIX=${DRONE_TAG}r - export WORKFLOW_BRANCH_OR_TAG=release-cfw-rgb - export FORCE_NO_DIRTY=yes - rm -f build/f7-firmware-C/toolbox/version.* - ./fbt COMPACT=1 DEBUG=0 updater_package - mkdir artifacts-rgb-patch - mv dist/f7-C/* artifacts-rgb-patch/ - ls -laS artifacts-rgb-patch - ls -laS artifacts-rgb-patch/f7-update-${DRONE_TAG}r environment: FBT_TOOLS_CUSTOM_LINK: from_secret: fbt_link - name: "Build with ofw anims" image: hfdj/fztools pull: never commands: - git clean -df - git checkout -- . - rm -f assets/dolphin/external/manifest.txt - cp .ci_files/anims_ofw.txt assets/dolphin/external/manifest.txt - rm -rf assets/resources/apps/ - export DIST_SUFFIX=${DRONE_TAG}n - export WORKFLOW_BRANCH_OR_TAG=no-custom-anims - export FORCE_NO_DIRTY=yes - rm -f build/f7-firmware-C/toolbox/version.* - ./fbt COMPACT=1 DEBUG=0 updater_package - mkdir artifacts-ofw-anims - mv dist/f7-C/* artifacts-ofw-anims/ - ls -laS artifacts-ofw-anims - ls -laS artifacts-ofw-anims/f7-update-${DRONE_TAG}n - sed -i 's/(version)/'${DRONE_TAG}'/g' CHANGELOG.md - echo '# [Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw/${DRONE_TAG}/flipper-z-f7-update-'${DRONE_TAG}'.tgz&channel=release-cfw&version='${DRONE_TAG}')' >> CHANGELOG.md - echo '' >> CHANGELOG.md - echo '### [Version without custom animations - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-'${DRONE_TAG}'n.tgz&channel=release-cfw&version='${DRONE_TAG}'n)' >> CHANGELOG.md - echo '' >> CHANGELOG.md - echo '### [Version with RGB patch - only for hardware mod! - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'r.tgz&channel=release-cfw&version='${DRONE_TAG}'r)' >> CHANGELOG.md - echo '' >> CHANGELOG.md - echo '## [Version with Extra apps - Install via Web Updater](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'e.tgz&channel=release-cfw&version='${DRONE_TAG}'e)' >> CHANGELOG.md environment: FBT_TOOLS_CUSTOM_LINK: from_secret: fbt_link - name: "Bundle self-update packages" image: kramos/alpine-zip commands: - cp artifacts-extra-apps/flipper-z-f7-update-${DRONE_TAG}e.tgz . - cp artifacts-rgb-patch/flipper-z-f7-update-${DRONE_TAG}r.tgz . - cp artifacts-ofw-anims/flipper-z-f7-update-${DRONE_TAG}n.tgz . - cp artifacts-default/flipper-z-f7-update-${DRONE_TAG}.tgz . - zip -r artifacts-extra-apps/flipper-z-f7-update-${DRONE_TAG}e.zip artifacts-extra-apps/f7-update-${DRONE_TAG}e - zip -r artifacts-rgb-patch/flipper-z-f7-update-${DRONE_TAG}r.zip artifacts-rgb-patch/f7-update-${DRONE_TAG}r - zip -r artifacts-ofw-anims/flipper-z-f7-update-${DRONE_TAG}n.zip artifacts-ofw-anims/f7-update-${DRONE_TAG}n - zip -r artifacts-default/flipper-z-f7-update-${DRONE_TAG}.zip artifacts-default/f7-update-${DRONE_TAG} - tar czpf artifacts-default/flipper-z-any-scripts-${DRONE_TAG}.tgz scripts - rm -rf artifacts-extra-apps/f7-update-${DRONE_TAG} - rm -rf artifacts-rgb-patch/f7-update-${DRONE_TAG} - rm -rf artifacts-ofw-anims/f7-update-${DRONE_TAG} - rm -rf artifacts-default/f7-update-${DRONE_TAG} - ls -laS artifacts-extra-apps - ls -laS artifacts-rgb-patch - ls -laS artifacts-ofw-anims - ls -laS artifacts-default - mv artifacts-default/ ${DRONE_TAG} - ls -laS ${DRONE_TAG} - name: "Upload default to updates srv" image: appleboy/drone-scp:linux-amd64 settings: host: from_secret: dep_host username: from_secret: dep_user password: from_secret: dep_passwd port: from_secret: dep_port target: from_secret: dep_target_new source: - ${DRONE_TAG}/*.tgz - ${DRONE_TAG}/*.zip - ${DRONE_TAG}/*.json - ${DRONE_TAG}/*.elf - ${DRONE_TAG}/*.dfu - ${DRONE_TAG}/*.bin - name: "Upload no-anims to updates srv" image: appleboy/drone-scp:linux-amd64 settings: host: from_secret: dep_host username: from_secret: dep_user password: from_secret: dep_passwd port: from_secret: dep_port target: from_secret: dep_target_noanim source: flipper-z-f7-update-${DRONE_TAG}n.tgz - name: "Upload extra apps version to updates srv" image: appleboy/drone-scp:linux-amd64 settings: host: from_secret: dep_host username: from_secret: dep_user password: from_secret: dep_passwd port: from_secret: dep_port target: from_secret: dep_target_extra source: flipper-z-f7-update-${DRONE_TAG}e.tgz - name: "Upload rgb patch version to updates srv" image: appleboy/drone-scp:linux-amd64 settings: host: from_secret: dep_host username: from_secret: dep_user password: from_secret: dep_passwd port: from_secret: dep_port target: from_secret: dep_target_extra source: flipper-z-f7-update-${DRONE_TAG}r.tgz - name: "Do Github release" image: ddplugins/github-release pull: never settings: github_url: https://github.com repo_owner: from_secret: github_repoowner api_key: from_secret: github_apikey files: - ${DRONE_TAG}/*.tgz - ${DRONE_TAG}/*.zip - artifacts-ofw-anims/*.tgz - artifacts-extra-apps/*.tgz - artifacts-rgb-patch/*.tgz title: ${DRONE_TAG} note: CHANGELOG.md checksum: - md5 - sha1 - crc32 - name: "Trigger update server reindex" image: hfdj/fztools pull: never environment: UPD_KEY: from_secret: git_update_serv_token UPD_URL: from_secret: git_update_server_url commands: - curl -X POST -F 'key='$UPD_KEY'' $UPD_URL - name: "Send files to telegram" image: appleboy/drone-telegram settings: token: from_secret: tgtoken to: from_secret: tgid format: markdown message: "New Unleashed firmware released! Version: {{build.tag}} [-> Sponsor our project](https://boosty.to/mmxdev) [-Github - Changelog-](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/${DRONE_TAG}) [-How to install firmware-](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md) [-Download latest extra apps pack-](https://github.com/xMasterX/all-the-plugins/archive/refs/heads/main.zip) [-Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/${DRONE_TAG}/flipper-z-f7-update-${DRONE_TAG}.tgz&channel=release-cfw&version=${DRONE_TAG}) [-Version without custom animations - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-${DRONE_TAG}n.tgz&channel=release-cfw&version=${DRONE_TAG}n) [-Version with RGB patch - only for hardware mod! - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}r.tgz&channel=release-cfw&version=${DRONE_TAG}r) [-Version with RGB patch - only for hardware mod! - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}r.tgz) [-Version with Extra apps - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_TAG}e.tgz&channel=release-cfw&version=${DRONE_TAG}e)" document: - ${DRONE_TAG}/flipper-z-f7-update-${DRONE_TAG}.tgz - name: "Send discord notification" image: hfdj/fztools pull: never environment: DISCORD_WEBHOOK: from_secret: dis_release_webhook commands: - wget "https://raw.githubusercontent.com/fieu/discord.sh/e1dc1a7595efad2cad8f072f0b3531c470f5b7c8/discord.sh" - chmod +x ./discord.sh - ./discord.sh --text 'New Unleashed firmware released!\n\nVersion - '${DRONE_TAG}'\n\n[-> Sponsor our project](https://boosty.to/mmxdev)\n\n[[Github - Changelog]](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/'${DRONE_TAG}')\n\n[-How to install firmware-](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)\n\n[-Download latest extra apps pack-](https://github.com/xMasterX/all-the-plugins/archive/refs/heads/main.zip)\n\n[-Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/'${DRONE_TAG}'/flipper-z-f7-update-'${DRONE_TAG}'.tgz&channel=release-cfw&version='${DRONE_TAG}')\n\n[-Version without custom animations - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_no_anim/flipper-z-f7-update-'${DRONE_TAG}'n.tgz&channel=release-cfw&version='${DRONE_TAG}'n)\n\n[-Version with RGB patch - only for hardware mod! - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'r.tgz&channel=release-cfw&version='${DRONE_TAG}'r)\n\n[-Version with RGB patch - only for hardware mod! - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'r.tgz)\n\n[-Version with Extra apps - Install FW via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_TAG}'e.tgz&channel=release-cfw&version='${DRONE_TAG}'e)' - name: "Send extra pack build to telegram" image: appleboy/drone-telegram settings: token: from_secret: tgtoken to: from_secret: tgid format: markdown message: "Build with extra apps pack:" document: - flipper-z-f7-update-${DRONE_TAG}e.tgz trigger: event: - tag node: typ: haupt --- kind: pipeline type: docker name: "Dev build" platform: os: linux arch: amd64 steps: - name: "Update submodules" image: alpine/git commands: - git submodule sync - git -c protocol.version=2 submodule update --init --force --recursive --jobs 4 - git submodule foreach git config --local gc.auto 0 - git log -1 --format='%H' - name: "Build dev FW" image: hfdj/fztools pull: never commands: - export DIST_SUFFIX=${DRONE_BUILD_NUMBER} - export WORKFLOW_BRANCH_OR_TAG=dev-cfw - rm -rf assets/resources/apps/ - rm -rf build/ - rm -rf dist/ - rm -rf .sconsign.dblite - ./fbt COMPACT=1 DEBUG=0 updater_package - mkdir artifacts-default - mv dist/f7-C/* artifacts-default/ - ls -laS artifacts-default - ls -laS artifacts-default/f7-update-${DRONE_BUILD_NUMBER} environment: FBT_TOOLS_CUSTOM_LINK: from_secret: fbt_link - name: "Build dev with extra apps" image: hfdj/fztools pull: never commands: - git clone --branch dev https://github.com/xMasterX/all-the-plugins.git - cp -R all-the-plugins/apps/* assets/resources/apps/ - rm -rf all-the-plugins - export DIST_SUFFIX=${DRONE_BUILD_NUMBER}e - export WORKFLOW_BRANCH_OR_TAG=dev-cfw - export FORCE_NO_DIRTY=yes - rm -f build/f7-firmware-C/toolbox/version.* - ./fbt COMPACT=1 DEBUG=0 updater_package - mkdir artifacts-extra-apps - mv dist/f7-C/* artifacts-extra-apps/ - ls -laS artifacts-extra-apps - ls -laS artifacts-extra-apps/f7-update-${DRONE_BUILD_NUMBER}e environment: FBT_TOOLS_CUSTOM_LINK: from_secret: fbt_link - name: "Build dev with rgb patch" image: hfdj/fztools pull: never commands: - git apply .ci_files/rgb.patch - export DIST_SUFFIX=${DRONE_BUILD_NUMBER}r - export WORKFLOW_BRANCH_OR_TAG=dev-cfw-rgb - export FORCE_NO_DIRTY=yes - rm -f build/f7-firmware-C/toolbox/version.* - ./fbt COMPACT=1 DEBUG=0 updater_package - mkdir artifacts-rgb-patch - mv dist/f7-C/* artifacts-rgb-patch/ - ls -laS artifacts-rgb-patch - ls -laS artifacts-rgb-patch/f7-update-${DRONE_BUILD_NUMBER}r environment: FBT_TOOLS_CUSTOM_LINK: from_secret: fbt_link - name: "Bundle self-update packages" image: kramos/alpine-zip commands: - cp artifacts-extra-apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz . - cp artifacts-rgb-patch/flipper-z-f7-update-${DRONE_BUILD_NUMBER}r.tgz . - cp artifacts-default/flipper-z-f7-update-${DRONE_BUILD_NUMBER}.tgz . - rm -rf artifacts-default/f7-update-${DRONE_BUILD_NUMBER} - ls -laS artifacts-default - mv artifacts-default/ dev - ls -laS dev - name: "Clean dev folder" image: appleboy/drone-ssh:linux-amd64 settings: host: from_secret: dep_host username: from_secret: dep_user password: from_secret: dep_passwd port: from_secret: dep_port command_timeout: 30s script: - cd web/unleashedflip.com/public_html/fw/dev && rm -f ./* - name: "Upload default to updates srv" image: appleboy/drone-scp:linux-amd64 settings: host: from_secret: dep_host username: from_secret: dep_user password: from_secret: dep_passwd port: from_secret: dep_port target: from_secret: dep_target_new source: - dev/*.tgz - dev/*.zip - dev/*.json - dev/*.elf - dev/*.dfu - dev/*.bin - name: "Upload extra apps version to updates srv" image: appleboy/drone-scp:linux-amd64 settings: host: from_secret: dep_host username: from_secret: dep_user password: from_secret: dep_passwd port: from_secret: dep_port target: from_secret: dep_target_extra source: flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz - name: "Upload rgb patch version to updates srv" image: appleboy/drone-scp:linux-amd64 settings: host: from_secret: dep_host username: from_secret: dep_user password: from_secret: dep_passwd port: from_secret: dep_port target: from_secret: dep_target_extra source: flipper-z-f7-update-${DRONE_BUILD_NUMBER}r.tgz - name: "Trigger update server reindex" image: hfdj/fztools pull: never environment: UPD_KEY: from_secret: git_update_serv_token UPD_URL: from_secret: git_update_server_url commands: - curl -X POST -F 'key='$UPD_KEY'' $UPD_URL - name: "Send message to telegram" image: appleboy/drone-telegram settings: token: from_secret: tgtoken to: from_secret: tgid_dev format: markdown message: "Unleashed firmware dev build successful! Build: {{build.number}} Commit: https://github.com/DarkFlippers/unleashed-firmware/commit/{{commit.sha}} [-> Sponsor our project](https://boosty.to/mmxdev) [-Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/dev/flipper-z-f7-update-${DRONE_BUILD_NUMBER}.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER}) [-Version with RGB patch - only for hardware mod! - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}r.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER}r) [-Version with RGB patch - only for hardware mod! - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}r.tgz) [-Version with Extra apps - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz&channel=dev-cfw&version=${DRONE_BUILD_NUMBER}e)" - name: "Send build to telegram" image: appleboy/drone-telegram settings: token: from_secret: tgtoken to: from_secret: tgid_dev format: markdown message: "Regular Build:" document: - dev/flipper-z-f7-update-${DRONE_BUILD_NUMBER}.tgz - name: "Send extra pack build to telegram" image: appleboy/drone-telegram settings: token: from_secret: tgtoken to: from_secret: tgid_dev format: markdown message: "Build with extra apps pack:" document: - flipper-z-f7-update-${DRONE_BUILD_NUMBER}e.tgz - name: "Send discord notification" image: hfdj/fztools pull: never environment: DISCORD_WEBHOOK: from_secret: dis_dev_webhook commands: - wget "https://raw.githubusercontent.com/fieu/discord.sh/e1dc1a7595efad2cad8f072f0b3531c470f5b7c8/discord.sh" - chmod +x ./discord.sh - ./discord.sh --text 'Unleashed firmware dev build successful!\n\nBuild - '${DRONE_BUILD_NUMBER}'\n\nCommit - https://github.com/DarkFlippers/unleashed-firmware/commit/'${DRONE_COMMIT_SHA}'\n\n[-> Sponsor our project](https://boosty.to/mmxdev)\n\n[-Version with Extra apps - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'e.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}'e)\n\n[-Version with RGB patch - only for hardware mod! - Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'r.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}'r)\n\n[-Version with RGB patch - only for hardware mod! - Direct download-](https://unleashedflip.com/fw_extra_apps/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'r.tgz)\n\n[-Install via Web Updater-](https://lab.flipper.net/?url=https://unleashedflip.com/fw/dev/flipper-z-f7-update-'${DRONE_BUILD_NUMBER}'.tgz&channel=dev-cfw&version='${DRONE_BUILD_NUMBER}')' trigger: branch: - dev event: - push node: typ: haupt