Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[20694] Build Fast DDS Python bindings in Fast DDS Docs Github CI job (backport #4628) #4642

Merged
merged 1 commit into from
Apr 17, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 37 additions & 65 deletions .github/workflows/documentation-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@ name: Documentation build and test
on:
workflow_dispatch:
inputs:
documentation_branch:
description: 'Documentation branch name'
fastdds_docs_branch:
description: 'Fast DDS Docs branch'
required: true
type: string
fastdds_python_branch:
description: 'Fast DDS Python branch'
required: true
type: string
default: '2.13.x'

pull_request:
types:
Expand All @@ -20,9 +23,6 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

env:
ACTION_BRANCH_NAME: ${{ github.ref }}

jobs:
ubuntu-build-and-test-documentation:
name: Documentation build and test
Expand Down Expand Up @@ -50,7 +50,7 @@ jobs:
- name: Get minimum supported version of CMake
uses: eProsima/eProsima-CI/external/get-cmake@v0
with:
cmakeVersion: '3.20.6'
cmakeVersion: '3.22.6'

- name: Setup CCache
uses: eProsima/eProsima-CI/external/setup-ccache-action@v0
Expand All @@ -62,12 +62,6 @@ jobs:
update: false
upgrade: false

- name: Install GTest
uses: eProsima/eProsima-CI/multiplatform/install_gtest@v0
with:
cmake_build_type: Release
version: release-1.11.0

- name: Install Python dependencies
uses: eProsima/eProsima-CI/multiplatform/install_python_packages@v0
with:
Expand All @@ -84,62 +78,40 @@ jobs:
destination_workspace: src
skip_existing: 'true'

- name: Determine the Fast DDS Documentation branch to be used
run: |
if [[ ${{ github.event_name }} == "push" ]]
then
echo "ACTION_BRANCH_NAME=${{ github.ref }}" >> $GITHUB_ENV
echo "Push event: using pushed branch '${{ github.ref }}' for docs repository"

elif [[ ${{ github.event_name }} == "workflow_dispatch" ]]
then
echo "ACTION_BRANCH_NAME=${{ inputs.documentation_branch }}" >> $GITHUB_ENV
echo "Workflow dispatch event: using input branch '${{ inputs.documentation_branch }}' for docs repository"

elif [[ ${{ github.event_name }} == "pull_request" ]]
then
DOCS_REPO=https://github.com/eProsima/fast-dds-docs.git

# Attempt to use PR's source branch
TEMP_BRANCH=${{ github.head_ref }}
RESPONSE_CODE=$(git ls-remote --heads $DOCS_REPO $TEMP_BRANCH | wc -l)

if [[ ${RESPONSE_CODE} == "0" ]]
then
echo "PR source branch '$TEMP_BRANCH' branch DOES NOT exist in $DOCS_REPO"

# Attempt to use PR's base branch
TEMP_BRANCH=${{ github.base_ref }}
RESPONSE_CODE=$(git ls-remote --heads $DOCS_REPO $TEMP_BRANCH | wc -l)

if [[ ${RESPONSE_CODE} == "0" ]]
then
echo "PR base branch '$TEMP_BRANCH' branch DOES NOT exist in $DOCS_REPO"

# Attempt to use version's branch, which will most likely be the base anyways.
# This is just in case the PR was to an intermediate branch
TEMP_BRANCH=2.13.x
RESPONSE_CODE=$(git ls-remote --heads $DOCS_REPO $TEMP_BRANCH | wc -l)

if [[ ${RESPONSE_CODE} == "0" ]]
then
# There are no more fallbacks, so we need to fail here
echo "Version branch '$TEMP_BRANCH' branch DOES NOT exist in $DOCS_REPO"
exit 1
fi
fi
fi

echo "ACTION_BRANCH_NAME=$TEMP_BRANCH" >> $GITHUB_ENV
echo "PR event: using deduced branch '$TEMP_BRANCH' for docs repository"
fi

- name: Download FastDDS documentation repo
- name: Fetch Fast DDS CI dependencies
uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0
with:
vcs_repos_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/ci.repos
destination_workspace: src
skip_existing: 'true'

- name: Get Fast DDS Python branch
id: get_fastdds_python_branch
uses: eProsima/eProsima-CI/ubuntu/get_related_branch_from_repo@v0
with:
remote_repository: eProsima/Fast-DDS-python
fallback_branch: ${{ inputs.fastdds_python_branch || '1.4.x' }}

- name: Download Fast DDS Python repo
uses: eProsima/eProsima-CI/external/checkout@v0
with:
repository: eProsima/Fast-DDS-python
path: src/fastdds-python
ref: ${{ steps.get_fastdds_python_branch.outputs.deduced_branch }}

- name: Get Fast DDS Docs branch
id: get_fastdds_docs_branch
uses: eProsima/eProsima-CI/ubuntu/get_related_branch_from_repo@v0
with:
remote_repository: eProsima/Fast-DDS-docs
fallback_branch: ${{ inputs.fastdds_docs_branch || '2.13.x' }}

- name: Download Fast DDS documentation repo
uses: eProsima/eProsima-CI/external/checkout@v0
with:
repository: eProsima/Fast-DDS-docs
path: src/fastdds-docs
ref: ${{ env.ACTION_BRANCH_NAME }}
ref: ${{ steps.get_fastdds_docs_branch.outputs.deduced_branch }}

- name: Install Fast DDS Docs required python packages
uses: eProsima/eProsima-CI/ubuntu/install_python_packages@v0
Expand Down
Loading