name: Metadata

on:
  push:
    branches:
    - 'master'
    - 'release/*'
    - 'pr-metadata-test'

jobs:

  airframe:
    runs-on: ubuntu-latest
    container: px4io/px4-dev-base-focal:2021-09-08
    steps:
    - uses: actions/checkout@v1
      with:
        token: ${{ secrets.ACCESS_TOKEN }}

    - name: airframe metadata
      run: |
        make airframe_metadata
        ./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV
        cd build/px4_sitl_default/docs
      # TODO: deploy to userguide gitbook

    - uses: jakejarvis/s3-sync-action@master
      with:
        args: --acl public-read
      env:
        AWS_S3_BUCKET: 'px4-travis'
        AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
        AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
        AWS_REGION: 'us-west-1'
        SOURCE_DIR: 'build/px4_sitl_default/docs/'
        DEST_DIR: 'Firmware/${{ env.version }}/_general/'

  module:
    runs-on: ubuntu-latest
    container: px4io/px4-dev-base-focal:2021-09-08
    steps:
    - uses: actions/checkout@v1
      with:
        token: ${{ secrets.ACCESS_TOKEN }}

    - name: module documentation
      run: |
        make module_documentation
        cd build/px4_sitl_default/docs
        ls -ls *
      # TODO: deploy to userguide gitbook and s3

  parameter:
    runs-on: ubuntu-latest
    container: px4io/px4-dev-base-focal:2021-09-08
    steps:
    - uses: actions/checkout@v1
      with:
        token: ${{ secrets.ACCESS_TOKEN }}

    - name: parameter metadata
      run: |
        make parameters_metadata
        ./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV

    - uses: jakejarvis/s3-sync-action@master
      with:
        args: --acl public-read
      env:
        AWS_S3_BUCKET: 'px4-travis'
        AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
        AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
        AWS_REGION: 'us-west-1'
        SOURCE_DIR: 'build/px4_sitl_default/docs/'
        DEST_DIR: 'Firmware/${{ env.version }}/_general/'

  events:
    runs-on: ubuntu-latest
    container: px4io/px4-dev-base-focal:2021-09-08
    steps:
    - uses: actions/checkout@v1
      with:
        token: ${{ secrets.ACCESS_TOKEN }}

    - name: events metadata
      run: |
        make extract_events
        ./src/lib/version/get_git_tag_or_branch_version.sh build/px4_sitl_default >> $GITHUB_ENV
        cd build/px4_sitl_default
        mkdir _events_full || true
        cp events/all_events_full.json.xz _events_full/all_events.json.xz

    - uses: jakejarvis/s3-sync-action@master
      with:
        args: --acl public-read
      env:
        AWS_S3_BUCKET: 'px4-travis'
        AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
        AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
        AWS_REGION: 'us-west-1'
        SOURCE_DIR: 'build/px4_sitl_default/_events_full/'
        DEST_DIR: 'Firmware/${{ env.version }}/_general/'

  uorb_graph:
    runs-on: ubuntu-latest
    container: px4io/px4-dev-nuttx-focal:2021-09-08
    steps:
    - uses: actions/checkout@v1
      with:
        token: ${{ secrets.ACCESS_TOKEN }}

    - name: uORB graph
      run: |
        make uorb_graphs
        cd Tools/uorb_graph
        ls -ls *
      # TODO: deploy graph_px4_sitl.json to S3 px4-travis:Firmware/master/

  micrortps_agent:
    runs-on: ubuntu-latest
    container: px4io/px4-dev-base-focal:2021-09-08
    steps:
    - uses: actions/checkout@v1
      with:
        token: ${{ secrets.ACCESS_TOKEN }}

    - name: microRTPS agent
      run: |
        make px4_sitl_rtps
        git clone https://github.com/PX4/micrortps_agent.git
        cp -R build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_agent/* micrortps_agent

  ROS_msgs:
    runs-on: ubuntu-latest
    container: px4io/px4-dev-base-focal:2021-09-08
    steps:
    - uses: actions/checkout@v1
      with:
        token: ${{ secrets.ACCESS_TOKEN }}

    - name: PX4 ROS msgs
      run: |
        git clone https://github.com/PX4/px4_msgs.git
        python3 msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/

  ROS2_bridge:
    runs-on: ubuntu-latest
    container: px4io/px4-dev-base-focal:2021-09-08
    steps:
    - uses: actions/checkout@v1
      with:
        token: ${{ secrets.ACCESS_TOKEN }}

    - name: PX4 ROS2 bridge
      run: |
        git clone https://github.com/PX4/px4_ros_com.git
        ./msg/tools/uorb_to_ros_urtps_topics.py -i msg/tools/urtps_bridge_topics.yaml -o px4_ros_com/templates/urtps_bridge_topics.yaml