Skip to content

Bump dependabot/fetch-metadata from 1.6.0 to 2.0.0 #271

Bump dependabot/fetch-metadata from 1.6.0 to 2.0.0

Bump dependabot/fetch-metadata from 1.6.0 to 2.0.0 #271

Workflow file for this run

name: nanosaur_perception builder
# Reference:
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#on
# https://jasonet.co/posts/scheduled-actions/
on:
push:
# Sequence of patterns matched against refs/heads
branches-ignore:
- 'humble'
workflow_dispatch:
# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#concurrency
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
env:
docker_image_name: nanosaur/perception
jobs:
matrix-builder:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Extract matrix
id: set-matrix
run: |
TERM=xterm bash .github/ci_builder.sh
echo "::set-output name=matrix::$(cat matrix.json)"
test-pkgs:
name: "Test packages and version"
runs-on: ubuntu-latest
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idoutputs
outputs:
tag: ${{ steps.repo_status.outputs.tag }}
pre_release: ${{ steps.repo_status.outputs.pre_release }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Checkout nanosaur tools repo
uses: actions/checkout@v3
with:
repository: rnanosaur/nanosaur_tools
path: nanosaur_tools
- name: Repository status
id: repo_status
shell: bash
run: |
pip3 install -r nanosaur_tools/CI/requirements.txt
if ${{ startsWith(github.ref, 'refs/tags/') }} ; then
TAG_RELEASE=${GITHUB_REF/refs\/tags\//}
else
TAG_RELEASE=${GITHUB_REF/refs\/heads\//}
fi
CHECK_PRE_RELEASE=$(python3 nanosaur_tools/check_pre_release.py $TAG_RELEASE)
echo ::set-output name=tag::${TAG_RELEASE}
echo ::set-output name=pre_release::${CHECK_PRE_RELEASE}
echo "tag=${TAG_RELEASE}"
echo "pre_release=${CHECK_PRE_RELEASE}"
- name: Test version packages
if: startsWith(github.ref, 'refs/tags/')
shell: bash
run: |
TAG_RELEASE=${{ steps.repo_status.outputs.tag }}
python3 nanosaur_tools/check_tag_version.py $TAG_RELEASE
perception-base:
name: "Build Dockerfile base"
needs: [test-pkgs]
runs-on: [self-hosted, linux, ARM64, Jetson, L4T-32.7]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Docker info
shell: bash
run: docker info
- name: Build Docker
shell: bash
id: docker_build
run: |
BRANCH_NAME=${{ needs.test-pkgs.outputs.tag }}
TERM=xterm bash nanosaur_perception/scripts/docker_jetson_builder.sh -ci --branch $BRANCH_NAME
- name: Login to DockerHub
if: github.actor != 'dependabot[bot]'
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push Docker
if: github.actor != 'dependabot[bot]'
shell: bash
id: docker_push
run: |
BRANCH_NAME=${{ needs.test-pkgs.outputs.tag }}
TERM=xterm bash nanosaur_perception/scripts/docker_jetson_builder.sh --push --branch $BRANCH_NAME
- name: Push Latest Docker
if: startsWith(github.ref, 'refs/tags/') && needs.test-pkgs.outputs.pre_release == 'false'
shell: bash
run: |
BRANCH_NAME=${{ needs.test-pkgs.outputs.tag }}
TERM=xterm bash nanosaur_perception/scripts/docker_jetson_builder.sh --push --branch $BRANCH_NAME --latest
perception-camera:
needs: [matrix-builder, test-pkgs, perception-base]
runs-on: [self-hosted, linux, ARM64, Jetson, L4T-32.7]
strategy:
matrix: ${{fromJson(needs.matrix-builder.outputs.matrix)}} #variable: project
name: "Build ${{ matrix.project }}"
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Docker info
shell: bash
run: docker info
- name: "Build docker ${{ matrix.project }}"
run: |
BRANCH_NAME=${{ needs.test-pkgs.outputs.tag }}
FILE_NAME=${{ matrix.project }}
echo "run FILE_NAME=$FILE_NAME BRANCH_NAME=$BRANCH_NAME"
TERM=xterm bash nanosaur_perception/scripts/docker_jetson_builder.sh -ci --branch $BRANCH_NAME --dockerfile $FILE_NAME
- name: Login to DockerHub
if: github.actor != 'dependabot[bot]'
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push Docker
if: github.actor != 'dependabot[bot]'
shell: bash
id: docker_push
run: |
BRANCH_NAME=${{ needs.test-pkgs.outputs.tag }}
FILE_NAME=${{ matrix.project }}
TERM=xterm bash nanosaur_perception/scripts/docker_jetson_builder.sh --push --branch $BRANCH_NAME --dockerfile $FILE_NAME
- name: Push Latest Docker
if: startsWith(github.ref, 'refs/tags/') && needs.test-pkgs.outputs.pre_release == 'false'
shell: bash
run: |
BRANCH_NAME=${{ needs.test-pkgs.outputs.tag }}
FILE_NAME=${{ matrix.project }}
TERM=xterm bash nanosaur_perception/scripts/docker_jetson_builder.sh --push --branch $BRANCH_NAME --dockerfile $FILE_NAME --latest
perception_x86:
name: "Build Dockerfile for x86 machines"
runs-on: [self-hosted, linux, X64, gpu]
needs: [test-pkgs]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Docker info
shell: bash
run: docker info
- name: Build Docker
shell: bash
id: docker_build
run: |
BRANCH_NAME=${{ needs.test-pkgs.outputs.tag }}
TERM=xterm bash nanosaur_perception/scripts/docker_x86_builder.sh -ci --branch $BRANCH_NAME
- name: Login to DockerHub
if: github.actor != 'dependabot[bot]'
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push Docker
if: github.actor != 'dependabot[bot]'
shell: bash
id: docker_push
run: |
BRANCH_NAME=${{ needs.test-pkgs.outputs.tag }}
TERM=xterm bash nanosaur_perception/scripts/docker_x86_builder.sh --push --branch $BRANCH_NAME
# https://github.com/peter-evans/dockerhub-description
update_docker_description:
name: Update docker description
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
needs: [perception-camera, perception_x86]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Docker Hub Description
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
repository: nanosaur/perception
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
make_release:
name: Upload release
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
needs: [test-pkgs, perception-camera, perception_x86]
steps:
- name: Extract tag name
id: extract_tag
shell: bash
run: echo ::set-output name=tag::${GITHUB_REF/refs\/tags\//}
- name: Release # https://github.com/softprops/action-gh-release
uses: softprops/action-gh-release@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: ${{ github.ref }}
name: Release ${{ needs.test-pkgs.outputs.tag }}
generate_release_notes: true
draft: false
prerelease: ${{ needs.test-pkgs.outputs.pre_release }}
notify:
name: "Notify socials"
if: startsWith(github.ref, 'refs/tags/')
needs: [test-pkgs, perception-camera, perception_x86]
runs-on: ubuntu-latest
steps:
# https://github.community/t/how-to-get-just-the-tag-name/16241/11
- name: Discord notification
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
uses: Ilshidur/action-discord@master
with:
args: '**${{ env.docker_image_name }}:${{ needs.test-pkgs.outputs.tag }}** has been deployed!'