---
variables:
  - &default
    image: "git.freifunk-rhein-sieg.net/freifunk-troisdorf/docker-gluon-build:latest"
    pull: true
    environment:
      - input_version=next
      - GLUON_SITEDIR=..
      - FORCE_UNSAFE_CONFIGURE=1
      - GLUON_TARGET=${TARGET}
      - GLUON_DEPRECATED=1
    when:
      event: push
      branch: next

workspace:
  base: /build

clone:
  git:
    image: woodpeckerci/plugin-git
    settings:
      recursive: true
    when:
      event: push
      branch: next

pipeline:
  make_update:
    <<: *default
    commands:
      - cd gluon
      - make update

  patch-iw-to-iw-full:
    <<: *default
    commands:
      - sed -i 's/+iw /+iw-full /g' gluon/openwrt/package/kernel/mac80211/Makefile

  build:
    <<: *default
    commands:
      - cd gluon
      - make -j$(nproc) GLUON_RELEASE=$input_version-${CI_COMMIT_BRANCH} GLUON_OUTPUTDIR=output/next

  list_images:
    <<: *default
    commands:
      - mkdir -p gluon/output/${CI_COMMIT_BRANCH}/images/factory
      - echo "${TARGET}" > gluon/output/${CI_COMMIT_BRANCH}/images/factory/${TARGET}
      - ls -alh gluon/output/${CI_COMMIT_BRANCH}/images/factory

  upload:
    image: appleboy/drone-scp
    settings:
      host: 46.4.138.183
      user: fwupload
      key:
        from_secret: ssh-key
      strip_components: 2
      target: /srv/fwuploads-tmp/troisdorf/testing/
      source: gluon/output/next/*
    when:
      event: push
      branch: next

matrix:
  TARGET:
    - ramips-mt7621

depends_on:
  - prepare_next