Bump dependabot/fetch-metadata from 2.1.0 to 2.2.0 #280
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@v4 | |
- 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@v4 | |
- name: Checkout nanosaur tools repo | |
uses: actions/checkout@v4 | |
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@v4 | |
- 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@v4 | |
- 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@v4 | |
- 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@v4 | |
- 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@v2 | |
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!' |