From f9dea48dea7f4acab97bf184409961ce3e9da706 Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Thu, 1 Apr 2021 18:29:08 -0700 Subject: [PATCH 01/16] [WIP] Add workflow file --- .github/workflows/build-test.yml | 170 +++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 .github/workflows/build-test.yml diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml new file mode 100644 index 00000000000..0fff8b59392 --- /dev/null +++ b/.github/workflows/build-test.yml @@ -0,0 +1,170 @@ +name: build-test + +on: + push: + # Pushes / merges to master + branches: + - master + pull_request: + # On creation and updating of PR + types: [opened, reopened, edited] + # Only those targeting master branch + branches: + - master + +defaults: + run: + shell: bash + +jobs: + bionic_catkin: + name: bionic_catkin + env: + USE_CATKIN: ON + BUILD_TYPE: Release + CATKIN_CONFIG_OPTIONS: "-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON" + BUILD_NAME: BIONIC_CATKIN_FULL_RELEASE + bionic_cmake: + name: bionic_cmake + env: + USE_CATKIN: OFF + BUILD_TYPE: Release + BUILD_NAME: BIONIC_CMAKE_RELEASE + focal_cmake: + name: focal_cmake + env: + USE_CATKIN: OFF + BUILD_TYPE: Release + BUILD_NAME: FOCAL_CMAKE_RELEASE + bionic_aikidopy: + name: bionic_aikidopy + env: + USE_CATKIN: ON + BUILD_TYPE: Release + BUILD_NAME: BIONIC_CATKIN_FULL_RELEASE_AIKIDOPY + CATKIN_CONFIG_OPTIONS: "-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON -DBUILD_AIKIDOPY=ON" + BUILD_AIKIDOPY: ON + osx: + name: osx + env: + USE_CATKIN: OFF + BUILD_TYPE: Release + BUILD_NAME: XCODE11_CMAKE_RELEASE + docs: + name: docs + env: + USE_CATKIN: ON + BUILD_TYPE: Release + BUILD_NAME: DOCS + +jobs: + fast_finish: true + include: + - os: linux + env: + - BUILD_NAME=BIONIC_CATKIN_FULL_RELEASE + - DOCKER_FILE="ubuntu-bionic" + - BUILD_TYPE=Release + - CATKIN_CONFIG_OPTIONS="-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON" + - USE_CATKIN=ON + services: docker + + - os: linux + env: + - BUILD_NAME=BIONIC_CMAKE_RELEASE + - DOCKER_FILE="ubuntu-bionic" + - BUILD_TYPE=Release + - USE_CATKIN=OFF + services: docker + + - os: linux + env: + - BUILD_NAME=FOCAL_CMAKE_RELEASE + - DOCKER_FILE="ubuntu-focal" + - BUILD_TYPE=Release + - USE_CATKIN=OFF + services: docker + + - os: linux + env: + - BUILD_NAME=BIONIC_CATKIN_FULL_RELEASE_AIKIDOPY + - DOCKER_FILE="ubuntu-bionic" + - BUILD_TYPE=Release + - CATKIN_CONFIG_OPTIONS="-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON -DBUILD_AIKIDOPY=ON" + - USE_CATKIN=ON + - BUILD_AIKIDOPY=ON + services: docker + + - os: linux + env: + - BUILD_NAME=BIONIC_CMAKE_RELEASE_AIKIDOPY + - DOCKER_FILE="ubuntu-bionic" + - BUILD_TYPE=Release + - USE_CATKIN=OFF + - BUILD_AIKIDOPY=ON + services: docker + + - os: osx + osx_image: xcode12 + compiler: clang + env: + - BUILD_NAME=XCODE11_CMAKE_RELEASE + - BUILD_TYPE=Release + - USE_CATKIN=OFF + + - os: linux + compiler: gcc + env: + - BUILD_NAME=DOCS + - DOCKER_FILE="ubuntu-bionic" + - BUILD_TYPE=Release + - USE_CATKIN=ON + services: docker + +before_install: + - if [ -n "$DOCKER_FILE" ]; then + docker build -t "$DOCKER_FILE" -f ".ci/docker/$DOCKER_FILE" .; + docker run -itd -v $TRAVIS_BUILD_DIR:$TRAVIS_BUILD_DIR --env-file .ci/docker/env.list --name aikido-docker "$DOCKER_FILE"; + docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/before_install.sh"; + else + '.ci/before_install.sh'; + fi + +install: + - if [ -n "$DOCKER_FILE" ]; then + docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/install.sh"; + else + '.ci/install.sh'; + fi + +script: + - if [ -n "$DOCKER_FILE" ]; then + docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/script.sh"; + else + '.ci/script.sh'; + fi + +after_script: + - if [ -n "$DOCKER_FILE" ]; then + docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/after_script.sh"; + else + '.ci/after_script.sh'; + fi + +after_failure: + - if [ -n "$DOCKER_FILE" ]; then + docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/after_failure.sh"; + else + '.ci/after_failure.sh'; + fi + +deploy: + strategy: git + token: $GITHUB_TOKEN + provider: pages + local_dir: gh-pages + keep_history: false + verbose: true + on: + branch: master + condition: $BUILD_NAME == DOCS && $TRAVIS_EVENT_TYPE != cron From 702f9866c617b48774c41ae2a9a2b5b4e2a1d5a6 Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 2 Apr 2021 10:59:46 -0700 Subject: [PATCH 02/16] Migration to github actions --- .ci/after_failure.sh | 8 +- .ci/after_script.sh | 2 +- .ci/before_install.sh | 2 +- .ci/build_docs.sh | 13 +- .ci/docker/env.list | 17 --- .ci/docker/ubuntu-bionic | 21 --- .ci/docker/ubuntu-focal | 21 --- .ci/docker/ubuntu-trusty | 13 -- .ci/docker/ubuntu-xenial | 13 -- .ci/install.sh | 10 +- .ci/install_linux_catkin.sh | 2 +- .ci/script.sh | 4 +- .ci/script_catkin.sh | 2 +- .github/workflows/build-test.yml | 219 ++++++++++--------------------- .github/workflows/docs.yml | 45 +++++++ .travis.yml | 155 ---------------------- 16 files changed, 134 insertions(+), 413 deletions(-) delete mode 100644 .ci/docker/env.list delete mode 100644 .ci/docker/ubuntu-bionic delete mode 100644 .ci/docker/ubuntu-focal delete mode 100644 .ci/docker/ubuntu-trusty delete mode 100644 .ci/docker/ubuntu-xenial create mode 100644 .github/workflows/docs.yml delete mode 100644 .travis.yml diff --git a/.ci/after_failure.sh b/.ci/after_failure.sh index a1d5e37968f..c4267b9f3fd 100755 --- a/.ci/after_failure.sh +++ b/.ci/after_failure.sh @@ -4,10 +4,10 @@ set -ex cd "${HOME}/workspace" -if [ "${TRAVIS_OS_NAME}" = "linux" ]; then - cat ./build/aikido/Testing/Temporary/LastTest.log - cat ./build/aikido/Testing/Temporary/LastTestsFailed.log -elif [ "${TRAVIS_OS_NAME}" = "osx" ]; then +if [ "${OS_NAME}" = "macos-latest" ]; then cat Testing/Temporary/LastTest.log cat Testing/Temporary/LastTestsFailed.log +else + cat ./build/aikido/Testing/Temporary/LastTest.log + cat ./build/aikido/Testing/Temporary/LastTestsFailed.log fi diff --git a/.ci/after_script.sh b/.ci/after_script.sh index cc0a7b6a5d2..88afb3200b4 100755 --- a/.ci/after_script.sh +++ b/.ci/after_script.sh @@ -4,6 +4,6 @@ set -ex cd "${HOME}/workspace" -if [ "${TRAVIS_OS_NAME}" = "linux" ]; then +if [ "${OS_NAME}" != "macos-latest" ]; then ./scripts/view-all-results.sh test_results fi diff --git a/.ci/before_install.sh b/.ci/before_install.sh index 022d3c15387..c44eff8527c 100755 --- a/.ci/before_install.sh +++ b/.ci/before_install.sh @@ -3,5 +3,5 @@ set -ex if [ "${USE_CATKIN}" = "ON" ]; then - . "${TRAVIS_BUILD_DIR}/.ci/before_install_catkin.sh"; + . "${GITHUB_WORKSPACE}/.ci/before_install_catkin.sh"; fi diff --git a/.ci/build_docs.sh b/.ci/build_docs.sh index ff698168f62..85f7618b34d 100755 --- a/.ci/build_docs.sh +++ b/.ci/build_docs.sh @@ -10,14 +10,15 @@ AIKIDO_DIR="${HOME}/workspace/src/aikido" # For branch builds, Travis only clones that branch with a fixed depth of 50 # commits. This means that the clone knows nothing about other Git branches or # tags. We fix this by deleting and re-cloning the full repository. +# TODO: Unsure if we still need to do this for Github Actions rm -rf ${AIKIDO_DIR} -git clone "https://github.com/${TRAVIS_REPO_SLUG}.git" ${AIKIDO_DIR} +git clone "https://github.com/${GITHUB_REPOSITORY}.git" ${AIKIDO_DIR} # Organize into "gh-pages" directory -mkdir -p ${TRAVIS_BUILD_DIR}/gh-pages +mkdir -p ${GITHUB_WORKSPACE}/gh-pages # Initialize list of API versions -cat < ${TRAVIS_BUILD_DIR}/gh-pages/README.md +cat < ${GITHUB_WORKSPACE}/gh-pages/README.md ## API Documentation EOF @@ -27,12 +28,12 @@ cd build_docs while read version; do # Add entry to list of API versions - echo "* [${version}](https://personalrobotics.github.io/aikido/${version}/)" >> ${TRAVIS_BUILD_DIR}/gh-pages/README.md + echo "* [${version}](https://personalrobotics.github.io/aikido/${version}/)" >> ${GITHUB_WORKSPACE}/gh-pages/README.md # Build documentation git -C ${AIKIDO_DIR} checkout ${version} rm -rf * cmake -DDOWNLOAD_TAGFILES=ON ${AIKIDO_DIR} make docs - mv doxygen ${TRAVIS_BUILD_DIR}/gh-pages/${version} -done < ${TRAVIS_BUILD_DIR}/.ci/docs_versions.txt + mv doxygen ${GITHUB_WORKSPACE}/gh-pages/${version} +done < ${GITHUB_WORKSPACE}/.ci/docs_versions.txt diff --git a/.ci/docker/env.list b/.ci/docker/env.list deleted file mode 100644 index 10e4f60a756..00000000000 --- a/.ci/docker/env.list +++ /dev/null @@ -1,17 +0,0 @@ -TRAVIS -TRAVIS_PULL_REQUEST -TRAVIS_OS_NAME -TRAVIS_BUILD_DIR -TRAVIS_REPO_SLUG - -CODECOV_TOKEN -DISTRIBUTION -GITHUB_TOKEN -REPOSITORY - -BUILD_AIKIDOPY -BUILD_NAME -BUILD_TYPE -CATKIN_CONFIG_OPTIONS -SUDO -USE_CATKIN diff --git a/.ci/docker/ubuntu-bionic b/.ci/docker/ubuntu-bionic deleted file mode 100644 index e120443282f..00000000000 --- a/.ci/docker/ubuntu-bionic +++ /dev/null @@ -1,21 +0,0 @@ -FROM ubuntu:bionic - -# Workaround to suppress "Warning: apt-key output should not be parsed (stdout is not a terminal)" -ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 - -RUN apt-get update -qq - -# To run dpkg without interactive dialogue -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt-get install -y \ - build-essential \ - cmake \ - curl \ - git \ - lsb-release \ - pkg-config \ - python \ - software-properties-common \ - sudo \ - tzdata diff --git a/.ci/docker/ubuntu-focal b/.ci/docker/ubuntu-focal deleted file mode 100644 index a1b5969506f..00000000000 --- a/.ci/docker/ubuntu-focal +++ /dev/null @@ -1,21 +0,0 @@ -FROM ubuntu:focal - -# Workaround to suppress "Warning: apt-key output should not be parsed (stdout is not a terminal)" -ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 - -RUN apt-get update -qq - -# To run dpkg without interactive dialogue -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt-get install -y \ - build-essential \ - cmake \ - curl \ - git \ - lsb-release \ - pkg-config \ - python \ - software-properties-common \ - sudo \ - tzdata diff --git a/.ci/docker/ubuntu-trusty b/.ci/docker/ubuntu-trusty deleted file mode 100644 index cf13da52c10..00000000000 --- a/.ci/docker/ubuntu-trusty +++ /dev/null @@ -1,13 +0,0 @@ -FROM ubuntu:trusty - -RUN apt-get update -qq -RUN apt-get install -y \ - build-essential \ - cmake \ - curl \ - git \ - lsb-release \ - pkg-config \ - python \ - software-properties-common \ - sudo diff --git a/.ci/docker/ubuntu-xenial b/.ci/docker/ubuntu-xenial deleted file mode 100644 index 3723d491c71..00000000000 --- a/.ci/docker/ubuntu-xenial +++ /dev/null @@ -1,13 +0,0 @@ -FROM ubuntu:xenial - -RUN apt-get update -qq -RUN apt-get install -y \ - build-essential \ - cmake \ - curl \ - git \ - lsb-release \ - pkg-config \ - python \ - software-properties-common \ - sudo diff --git a/.ci/install.sh b/.ci/install.sh index 0d5f4f4fad0..8f353c05c1a 100755 --- a/.ci/install.sh +++ b/.ci/install.sh @@ -2,12 +2,12 @@ set -ex -if [ "${TRAVIS_OS_NAME}" = "linux" ]; then +if [ "${OS_NAME}" = "macos-latest" ]; then + . "${GITHUB_WORKSPACE}/.ci/install_macos.sh" +else if [ "${USE_CATKIN}" = "ON" ]; then - . "${TRAVIS_BUILD_DIR}/.ci/install_linux_catkin.sh" + . "${GITHUB_WORKSPACE}/.ci/install_linux_catkin.sh" else - . "${TRAVIS_BUILD_DIR}/.ci/install_linux_cmake.sh" + . "${GITHUB_WORKSPACE}/.ci/install_linux_cmake.sh" fi -elif [ "${TRAVIS_OS_NAME}" = "osx" ]; then - . "${TRAVIS_BUILD_DIR}/.ci/install_macos.sh" fi diff --git a/.ci/install_linux_catkin.sh b/.ci/install_linux_catkin.sh index 9b1cb722891..7a49e737a82 100755 --- a/.ci/install_linux_catkin.sh +++ b/.ci/install_linux_catkin.sh @@ -3,7 +3,7 @@ set -ex cd "${HOME}/workspace" -cp -r "${TRAVIS_BUILD_DIR}" src +cp -r "${GITHUB_WORKSPACE}" src ./scripts/internal-distro.py --workspace=src distribution.yml --repository "${REPOSITORY}" ${REQUIRED_ONLY} if [ $BUILD_NAME = TRUSTY_FULL_DEBUG ]; then diff --git a/.ci/script.sh b/.ci/script.sh index 1815691d6fc..d2b952b49a7 100755 --- a/.ci/script.sh +++ b/.ci/script.sh @@ -3,7 +3,7 @@ set -ex if [ "${USE_CATKIN}" = "ON" ]; then - . "${TRAVIS_BUILD_DIR}/.ci/script_catkin.sh" + . "${GITHUB_WORKSPACE}/.ci/script_catkin.sh" else - . "${TRAVIS_BUILD_DIR}/.ci/script_cmake.sh" + . "${GITHUB_WORKSPACE}/.ci/script_cmake.sh" fi diff --git a/.ci/script_catkin.sh b/.ci/script_catkin.sh index b0833f9a459..c631c38c6d9 100755 --- a/.ci/script_catkin.sh +++ b/.ci/script_catkin.sh @@ -8,7 +8,7 @@ export PACKAGE_NAMES="$(./scripts/internal-get-packages.py distribution.yml ${RE ./scripts/internal-build.sh ${PACKAGE_NAMES} if [ $BUILD_NAME = DOCS ]; then - . "${TRAVIS_BUILD_DIR}/.ci/build_docs.sh" + . "${GITHUB_WORKSPACE}/.ci/build_docs.sh" exit 0 fi diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 0fff8b59392..db921af388e 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -1,170 +1,85 @@ name: build-test -on: +on: + # Pushes / merges to master push: - # Pushes / merges to master branches: - master + # On creation and updating of PR pull_request: - # On creation and updating of PR types: [opened, reopened, edited] # Only those targeting master branch branches: - master + # Every two days + schedule: + - cron: '0 23 */2 * *' defaults: run: shell: bash jobs: - bionic_catkin: - name: bionic_catkin + build: + strategy: + matrix: + include: + # OSX Build + - os: macos-latest + catkin: OFF + aikidopy: OFF + build: XCODE11_CMAKE_RELEASE + config: "" + # Bionic Catkin + - os: ubuntu-18.04 + catkin: ON + aikidopy: OFF + build: BIONIC_CATKIN_FULL_RELEASE + config: "-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON" + # Bionic CMake + - os: ubuntu-18.04 + catkin: OFF + aikidopy: OFF + build: BIONIC_CMAKE_RELEASE + config: "" + # Focal CMake + - os: ubuntu-20.04 + catkin: OFF + aikidopy: OFF + build: FOCAL_CMAKE_RELEASE + config: "" + # Bionic Catkin Aikidopy + - os: ubuntu-18.04 + catkin: ON + aikidopy: ON + build: BIONIC_CATKIN_FULL_RELEASE_AIKIDOPY + config: "-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON -DBUILD_AIKIDOPY=ON" + # Bionic CMake Aikidopy + - os: ubuntu-18.04 + catkin: OFF + aikidopy: ON + build: BIONIC_CMAKE_RELEASE_AIKIDOPY + config: "" + runs-on: ${{ matrix.os }} + name: ${{ matrix.build }} env: - USE_CATKIN: ON + USE_CATKIN: ${{ matrix.catkin }} + BUILD_NAME: ${{ matrix.build }} + CATKIN_CONFIG_OPTIONS: ${{ matrix.config }} + BUILD_AIKIDOPY: ${{ matrix.aikidopy }} BUILD_TYPE: Release - CATKIN_CONFIG_OPTIONS: "-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON" - BUILD_NAME: BIONIC_CATKIN_FULL_RELEASE - bionic_cmake: - name: bionic_cmake - env: - USE_CATKIN: OFF - BUILD_TYPE: Release - BUILD_NAME: BIONIC_CMAKE_RELEASE - focal_cmake: - name: focal_cmake - env: - USE_CATKIN: OFF - BUILD_TYPE: Release - BUILD_NAME: FOCAL_CMAKE_RELEASE - bionic_aikidopy: - name: bionic_aikidopy - env: - USE_CATKIN: ON - BUILD_TYPE: Release - BUILD_NAME: BIONIC_CATKIN_FULL_RELEASE_AIKIDOPY - CATKIN_CONFIG_OPTIONS: "-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON -DBUILD_AIKIDOPY=ON" - BUILD_AIKIDOPY: ON - osx: - name: osx - env: - USE_CATKIN: OFF - BUILD_TYPE: Release - BUILD_NAME: XCODE11_CMAKE_RELEASE - docs: - name: docs - env: - USE_CATKIN: ON - BUILD_TYPE: Release - BUILD_NAME: DOCS - -jobs: - fast_finish: true - include: - - os: linux - env: - - BUILD_NAME=BIONIC_CATKIN_FULL_RELEASE - - DOCKER_FILE="ubuntu-bionic" - - BUILD_TYPE=Release - - CATKIN_CONFIG_OPTIONS="-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON" - - USE_CATKIN=ON - services: docker - - - os: linux - env: - - BUILD_NAME=BIONIC_CMAKE_RELEASE - - DOCKER_FILE="ubuntu-bionic" - - BUILD_TYPE=Release - - USE_CATKIN=OFF - services: docker - - - os: linux - env: - - BUILD_NAME=FOCAL_CMAKE_RELEASE - - DOCKER_FILE="ubuntu-focal" - - BUILD_TYPE=Release - - USE_CATKIN=OFF - services: docker - - - os: linux - env: - - BUILD_NAME=BIONIC_CATKIN_FULL_RELEASE_AIKIDOPY - - DOCKER_FILE="ubuntu-bionic" - - BUILD_TYPE=Release - - CATKIN_CONFIG_OPTIONS="-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON -DBUILD_AIKIDOPY=ON" - - USE_CATKIN=ON - - BUILD_AIKIDOPY=ON - services: docker - - - os: linux - env: - - BUILD_NAME=BIONIC_CMAKE_RELEASE_AIKIDOPY - - DOCKER_FILE="ubuntu-bionic" - - BUILD_TYPE=Release - - USE_CATKIN=OFF - - BUILD_AIKIDOPY=ON - services: docker - - - os: osx - osx_image: xcode12 - compiler: clang - env: - - BUILD_NAME=XCODE11_CMAKE_RELEASE - - BUILD_TYPE=Release - - USE_CATKIN=OFF - - - os: linux - compiler: gcc - env: - - BUILD_NAME=DOCS - - DOCKER_FILE="ubuntu-bionic" - - BUILD_TYPE=Release - - USE_CATKIN=ON - services: docker - -before_install: - - if [ -n "$DOCKER_FILE" ]; then - docker build -t "$DOCKER_FILE" -f ".ci/docker/$DOCKER_FILE" .; - docker run -itd -v $TRAVIS_BUILD_DIR:$TRAVIS_BUILD_DIR --env-file .ci/docker/env.list --name aikido-docker "$DOCKER_FILE"; - docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/before_install.sh"; - else - '.ci/before_install.sh'; - fi - -install: - - if [ -n "$DOCKER_FILE" ]; then - docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/install.sh"; - else - '.ci/install.sh'; - fi - -script: - - if [ -n "$DOCKER_FILE" ]; then - docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/script.sh"; - else - '.ci/script.sh'; - fi - -after_script: - - if [ -n "$DOCKER_FILE" ]; then - docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/after_script.sh"; - else - '.ci/after_script.sh'; - fi - -after_failure: - - if [ -n "$DOCKER_FILE" ]; then - docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/after_failure.sh"; - else - '.ci/after_failure.sh'; - fi - -deploy: - strategy: git - token: $GITHUB_TOKEN - provider: pages - local_dir: gh-pages - keep_history: false - verbose: true - on: - branch: master - condition: $BUILD_NAME == DOCS && $TRAVIS_EVENT_TYPE != cron + OS_NAME: ${{ matrix.os }} + steps: + - name: Check out repository + uses: actions/checkout@v2 + - name: Before install + run: .ci/before_install.sh + - name: Install + run: .ci/install.sh + - name: Script + run: .ci/script.sh + - name: After script + run: .ci/after_script.sh + - name: After failure + if: ${{ failure() }} + run: .ci/after_failure.sh diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 00000000000..f9d6bbc53dc --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,45 @@ +name: build-test + +on: + # Pushes / merges to master + push: + branches: + - master + +defaults: + run: + shell: bash + +jobs: + build: + strategy: + matrix: + include: + # Docs + - os: ubuntu-18.04 + catkin: ON + aikidopy: OFF + build: DOCS + config: "" + runs-on: ${{ matrix.os }} + name: ${{ matrix.build }} + env: + USE_CATKIN: ${{ matrix.catkin }} + BUILD_NAME: ${{ matrix.build }} + CATKIN_CONFIG_OPTIONS: ${{ matrix.config }} + BUILD_AIKIDOPY: ${{ matrix.aikidopy }} + BUILD_TYPE: Release + steps: + - name: Check out repository + uses: actions/checkout@v2 + - name: Before install + run: .ci/before_install.sh + - name: Install + run: .ci/install.sh + - name: Script + run: .ci/script.sh + - name: After script + run: .ci/after_script.sh + - name: After failure + if: ${{ failure() }} + run: .ci/after_failure.sh diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index e87ebc65f2f..00000000000 --- a/.travis.yml +++ /dev/null @@ -1,155 +0,0 @@ -os: linux -dist: bionic - -group: travis_lts - -language: generic - -env: - global: - - TIMEOUT=30 - -cache: - apt: true - directories: - - /usr/local/Cellar - -jobs: - fast_finish: true - include: - - os: linux - env: - - BUILD_NAME=BIONIC_CATKIN_FULL_RELEASE - - DOCKER_FILE="ubuntu-bionic" - - BUILD_TYPE=Release - - CATKIN_CONFIG_OPTIONS="-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON" - - USE_CATKIN=ON - services: docker - - - os: linux - env: - - BUILD_NAME=BIONIC_CMAKE_RELEASE - - DOCKER_FILE="ubuntu-bionic" - - BUILD_TYPE=Release - - USE_CATKIN=OFF - services: docker - - - os: linux - env: - - BUILD_NAME=FOCAL_CMAKE_RELEASE - - DOCKER_FILE="ubuntu-focal" - - BUILD_TYPE=Release - - USE_CATKIN=OFF - services: docker - - - os: linux - env: - - BUILD_NAME=BIONIC_CATKIN_FULL_RELEASE_AIKIDOPY - - DOCKER_FILE="ubuntu-bionic" - - BUILD_TYPE=Release - - CATKIN_CONFIG_OPTIONS="-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON -DBUILD_AIKIDOPY=ON" - - USE_CATKIN=ON - - BUILD_AIKIDOPY=ON - services: docker - - - os: linux - env: - - BUILD_NAME=BIONIC_CMAKE_RELEASE_AIKIDOPY - - DOCKER_FILE="ubuntu-bionic" - - BUILD_TYPE=Release - - USE_CATKIN=OFF - - BUILD_AIKIDOPY=ON - services: docker - - - os: osx - osx_image: xcode12 - compiler: clang - env: - - BUILD_NAME=XCODE11_CMAKE_RELEASE - - BUILD_TYPE=Release - - USE_CATKIN=OFF - - - os: linux - compiler: gcc - env: - - BUILD_NAME=DOCS - - DOCKER_FILE="ubuntu-bionic" - - BUILD_TYPE=Release - - USE_CATKIN=ON - services: docker - - allow_failures: - - os: linux - env: - - BUILD_NAME=BIONIC_CATKIN_FULL_RELEASE - - DOCKER_FILE="ubuntu-bionic" - - BUILD_TYPE=Release - - CATKIN_CONFIG_OPTIONS="-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON" - - USE_CATKIN=ON - services: docker - - - os: linux - env: - - BUILD_NAME=BIONIC_CATKIN_FULL_RELEASE_AIKIDOPY - - DOCKER_FILE="ubuntu-bionic" - - BUILD_TYPE=Release - - CATKIN_CONFIG_OPTIONS="-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON -DBUILD_AIKIDOPY=ON" - - USE_CATKIN=ON - - BUILD_AIKIDOPY=ON - services: docker - - - os: osx - osx_image: xcode12 - compiler: clang - env: - - BUILD_NAME=XCODE11_CMAKE_RELEASE - - BUILD_TYPE=Release - - USE_CATKIN=OFF - -before_install: - - if [ -n "$DOCKER_FILE" ]; then - docker build -t "$DOCKER_FILE" -f ".ci/docker/$DOCKER_FILE" .; - docker run -itd -v $TRAVIS_BUILD_DIR:$TRAVIS_BUILD_DIR --env-file .ci/docker/env.list --name aikido-docker "$DOCKER_FILE"; - docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/before_install.sh"; - else - '.ci/before_install.sh'; - fi - -install: - - if [ -n "$DOCKER_FILE" ]; then - docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/install.sh"; - else - '.ci/install.sh'; - fi - -script: - - if [ -n "$DOCKER_FILE" ]; then - docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/script.sh"; - else - '.ci/script.sh'; - fi - -after_script: - - if [ -n "$DOCKER_FILE" ]; then - docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/after_script.sh"; - else - '.ci/after_script.sh'; - fi - -after_failure: - - if [ -n "$DOCKER_FILE" ]; then - docker exec aikido-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/after_failure.sh"; - else - '.ci/after_failure.sh'; - fi - -deploy: - strategy: git - token: $GITHUB_TOKEN - provider: pages - local_dir: gh-pages - keep_history: false - verbose: true - on: - branch: master - condition: $BUILD_NAME == DOCS && $TRAVIS_EVENT_TYPE != cron From 9a01dcbdd8115172ae4bd00c8140c3a431920718 Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 2 Apr 2021 11:15:47 -0700 Subject: [PATCH 03/16] Add global env variables from Travis --- .github/workflows/build-test.yml | 2 ++ .github/workflows/docs.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index db921af388e..90edecb6496 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -69,6 +69,8 @@ jobs: BUILD_AIKIDOPY: ${{ matrix.aikidopy }} BUILD_TYPE: Release OS_NAME: ${{ matrix.os }} + DISTRIBUTION: "https://raw.githubusercontent.com/personalrobotics/pr-rosinstalls/master/repositories.yml" + REPOSITORY: aikido steps: - name: Check out repository uses: actions/checkout@v2 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index f9d6bbc53dc..8a2407adfb3 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -29,6 +29,8 @@ jobs: CATKIN_CONFIG_OPTIONS: ${{ matrix.config }} BUILD_AIKIDOPY: ${{ matrix.aikidopy }} BUILD_TYPE: Release + DISTRIBUTION: "https://raw.githubusercontent.com/personalrobotics/pr-rosinstalls/master/repositories.yml" + REPOSITORY: aikido steps: - name: Check out repository uses: actions/checkout@v2 From 0c48a265b4adbf6b9429d2c23dbfc2e262a88ede Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 2 Apr 2021 11:19:55 -0700 Subject: [PATCH 04/16] Add proper sudo definition --- .github/workflows/build-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 90edecb6496..9ad3781fa76 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -71,6 +71,7 @@ jobs: OS_NAME: ${{ matrix.os }} DISTRIBUTION: "https://raw.githubusercontent.com/personalrobotics/pr-rosinstalls/master/repositories.yml" REPOSITORY: aikido + SUDO: sudo steps: - name: Check out repository uses: actions/checkout@v2 From f3e5926f6df0657f9b0c5ba17de032731ebbbb1f Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 2 Apr 2021 11:34:20 -0700 Subject: [PATCH 05/16] Test with updated DISTRIBUTION without git ext --- .github/workflows/build-test.yml | 2 +- .github/workflows/docs.yml | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 9ad3781fa76..45f3edceaa3 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -69,7 +69,7 @@ jobs: BUILD_AIKIDOPY: ${{ matrix.aikidopy }} BUILD_TYPE: Release OS_NAME: ${{ matrix.os }} - DISTRIBUTION: "https://raw.githubusercontent.com/personalrobotics/pr-rosinstalls/master/repositories.yml" + DISTRIBUTION: "https://raw.githubusercontent.com/personalrobotics/pr-rosinstalls/egordon-git-ext/repositories.yml" REPOSITORY: aikido SUDO: sudo steps: diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 8a2407adfb3..82539a1d6ae 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -29,8 +29,9 @@ jobs: CATKIN_CONFIG_OPTIONS: ${{ matrix.config }} BUILD_AIKIDOPY: ${{ matrix.aikidopy }} BUILD_TYPE: Release - DISTRIBUTION: "https://raw.githubusercontent.com/personalrobotics/pr-rosinstalls/master/repositories.yml" + DISTRIBUTION: "https://raw.githubusercontent.com/personalrobotics/pr-rosinstalls/egordon-git-ext/repositories.yml" REPOSITORY: aikido + SUDO: sudo steps: - name: Check out repository uses: actions/checkout@v2 From 8543a3c1f923cea7b7107fb8753c84d2b6f04abc Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 2 Apr 2021 11:41:35 -0700 Subject: [PATCH 06/16] Move DISTRIBUTION to repo secret --- .github/workflows/build-test.yml | 2 +- .github/workflows/docs.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 45f3edceaa3..546a57f80af 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -69,7 +69,7 @@ jobs: BUILD_AIKIDOPY: ${{ matrix.aikidopy }} BUILD_TYPE: Release OS_NAME: ${{ matrix.os }} - DISTRIBUTION: "https://raw.githubusercontent.com/personalrobotics/pr-rosinstalls/egordon-git-ext/repositories.yml" + DISTRIBUTION: ${{ secrets.DISTRIBUTION }} REPOSITORY: aikido SUDO: sudo steps: diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 82539a1d6ae..2793554ea3e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -29,7 +29,7 @@ jobs: CATKIN_CONFIG_OPTIONS: ${{ matrix.config }} BUILD_AIKIDOPY: ${{ matrix.aikidopy }} BUILD_TYPE: Release - DISTRIBUTION: "https://raw.githubusercontent.com/personalrobotics/pr-rosinstalls/egordon-git-ext/repositories.yml" + DISTRIBUTION: ${{ secrets.DISTRIBUTION }} REPOSITORY: aikido SUDO: sudo steps: From b24d76583885d7b1d8139d429cf33386407addac Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 2 Apr 2021 11:50:56 -0700 Subject: [PATCH 07/16] Add workflow run on synchronize --- .github/workflows/build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 546a57f80af..6da3137bd3b 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -7,7 +7,7 @@ on: - master # On creation and updating of PR pull_request: - types: [opened, reopened, edited] + types: [opened, reopened, synchronize, edited] # Only those targeting master branch branches: - master From 2413fcbc9345d74c02bb193de6524c1a4a033d2b Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 2 Apr 2021 11:51:31 -0700 Subject: [PATCH 08/16] Remove on workflow edited --- .github/workflows/build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 6da3137bd3b..c839ee53c6a 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -7,7 +7,7 @@ on: - master # On creation and updating of PR pull_request: - types: [opened, reopened, synchronize, edited] + types: [opened, reopened, synchronize] # Only those targeting master branch branches: - master From e15701c3e7c7cd22d3742e15ee9615a0617dcce0 Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 2 Apr 2021 13:27:08 -0700 Subject: [PATCH 09/16] view-all-results.sh is only available when using catkin --- .ci/after_failure.sh | 13 +++++-------- .ci/after_script.sh | 9 +++++---- .github/workflows/docs.yml | 1 + 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/.ci/after_failure.sh b/.ci/after_failure.sh index c4267b9f3fd..8843b23a3bd 100755 --- a/.ci/after_failure.sh +++ b/.ci/after_failure.sh @@ -2,12 +2,9 @@ set -ex -cd "${HOME}/workspace" - -if [ "${OS_NAME}" = "macos-latest" ]; then - cat Testing/Temporary/LastTest.log - cat Testing/Temporary/LastTestsFailed.log -else - cat ./build/aikido/Testing/Temporary/LastTest.log - cat ./build/aikido/Testing/Temporary/LastTestsFailed.log +if [ "${USE_CATKIN}" = "ON" ]; then + cd "${HOME}/workspace/build/aikido/" fi + +cat Testing/Temporary/LastTest.log +cat Testing/Temporary/LastTestsFailed.log diff --git a/.ci/after_script.sh b/.ci/after_script.sh index 88afb3200b4..0ac5171a6b2 100755 --- a/.ci/after_script.sh +++ b/.ci/after_script.sh @@ -1,9 +1,10 @@ #!/usr/bin/env bash set -ex +if [ "${USE_CATKIN}" = "ON" ]; then + cd "${HOME}/workspace" -cd "${HOME}/workspace" - -if [ "${OS_NAME}" != "macos-latest" ]; then - ./scripts/view-all-results.sh test_results + if [ "${OS_NAME}" != "macos-latest" ]; then + ./scripts/view-all-results.sh test_results + fi fi diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 2793554ea3e..afef732deb7 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -5,6 +5,7 @@ on: push: branches: - master + workflow_dispatch: defaults: run: From 612f22e6fb656bd565aa1b19abe0ae1a3e1d06c8 Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 2 Apr 2021 13:32:26 -0700 Subject: [PATCH 10/16] Make docs a separate workflow --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index afef732deb7..bece64a66ef 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,4 +1,4 @@ -name: build-test +name: docs on: # Pushes / merges to master From 711e4c664bf99658cffd296f69041bc2636b76a8 Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 2 Apr 2021 15:06:18 -0700 Subject: [PATCH 11/16] Allow workflow to run if job fails --- .github/workflows/build-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index c839ee53c6a..64b81c7142c 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -21,6 +21,7 @@ defaults: jobs: build: + continue-on-error: true strategy: matrix: include: From 84044acea2325efb6c69be460e29f324d2949a71 Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 2 Apr 2021 16:17:03 -0700 Subject: [PATCH 12/16] See if tests still segfault on focal --- .github/workflows/build-test.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 64b81c7142c..6d037244f52 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -31,36 +31,36 @@ jobs: aikidopy: OFF build: XCODE11_CMAKE_RELEASE config: "" - # Bionic Catkin - - os: ubuntu-18.04 - catkin: ON - aikidopy: OFF - build: BIONIC_CATKIN_FULL_RELEASE - config: "-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON" # Bionic CMake - os: ubuntu-18.04 catkin: OFF aikidopy: OFF build: BIONIC_CMAKE_RELEASE config: "" + # Bionic CMake Aikidopy + - os: ubuntu-18.04 + catkin: OFF + aikidopy: ON + build: BIONIC_CMAKE_RELEASE_AIKIDOPY + config: "" # Focal CMake - os: ubuntu-20.04 catkin: OFF aikidopy: OFF build: FOCAL_CMAKE_RELEASE config: "" - # Bionic Catkin Aikidopy - - os: ubuntu-18.04 + # Focal Catkin + - os: ubuntu-20.04 + catkin: ON + aikidopy: OFF + build: FOCAL_CATKIN_FULL_RELEASE + config: "-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON" + # Focal Catkin Aikidopy + - os: ubuntu-20.04 catkin: ON aikidopy: ON - build: BIONIC_CATKIN_FULL_RELEASE_AIKIDOPY + build: FOCAL_CATKIN_FULL_RELEASE_AIKIDOPY config: "-DCMAKE_BUILD_TYPE=Release -DTREAT_WARNINGS_AS_ERRORS=ON -DBUILD_AIKIDOPY=ON" - # Bionic CMake Aikidopy - - os: ubuntu-18.04 - catkin: OFF - aikidopy: ON - build: BIONIC_CMAKE_RELEASE_AIKIDOPY - config: "" runs-on: ${{ matrix.os }} name: ${{ matrix.build }} env: From 8e4fee8bf8ded46bd41d0525a6258621e4cd4694 Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 2 Apr 2021 17:31:19 -0700 Subject: [PATCH 13/16] [WIP] Specifically target focal support from pr-cleanroom --- .ci/before_install_catkin.sh | 2 +- .github/workflows/build-test.yml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.ci/before_install_catkin.sh b/.ci/before_install_catkin.sh index 6f2c003f947..387b5c33cf5 100755 --- a/.ci/before_install_catkin.sh +++ b/.ci/before_install_catkin.sh @@ -5,6 +5,6 @@ set -ex # Install test fixture dependencies. mkdir -p "${HOME}/workspace/src" cd "${HOME}/workspace" -git clone https://github.com/personalrobotics/pr-cleanroom.git scripts +git clone https://github.com/personalrobotics/pr-cleanroom.git -b focal_support_test scripts curl -sS "${DISTRIBUTION}" > distribution.yml ./scripts/internal-setup.sh diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 6d037244f52..c5c12818bb4 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -37,18 +37,18 @@ jobs: aikidopy: OFF build: BIONIC_CMAKE_RELEASE config: "" - # Bionic CMake Aikidopy - - os: ubuntu-18.04 - catkin: OFF - aikidopy: ON - build: BIONIC_CMAKE_RELEASE_AIKIDOPY - config: "" # Focal CMake - os: ubuntu-20.04 catkin: OFF aikidopy: OFF build: FOCAL_CMAKE_RELEASE config: "" + # Focal CMake Aikidopy + - os: ubuntu-20.04 + catkin: OFF + aikidopy: ON + build: FOCAL_CMAKE_RELEASE_AIKIDOPY + config: "" # Focal Catkin - os: ubuntu-20.04 catkin: ON From d612fad228c029eb0fe47c48abc322d687abece1 Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 2 Apr 2021 18:45:49 -0700 Subject: [PATCH 14/16] Build on latest OS X --- .github/workflows/build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index c5c12818bb4..d3edb211ceb 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -26,7 +26,7 @@ jobs: matrix: include: # OSX Build - - os: macos-latest + - os: macos-11.0 catkin: OFF aikidopy: OFF build: XCODE11_CMAKE_RELEASE From 6a60b54d0a5d84ac006b03987121b111a5446158 Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Fri, 2 Apr 2021 19:01:50 -0700 Subject: [PATCH 15/16] No need to visualize test results after script run --- .ci/after_script.sh | 10 ---------- .github/workflows/build-test.yml | 3 +-- 2 files changed, 1 insertion(+), 12 deletions(-) delete mode 100755 .ci/after_script.sh diff --git a/.ci/after_script.sh b/.ci/after_script.sh deleted file mode 100755 index 0ac5171a6b2..00000000000 --- a/.ci/after_script.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -set -ex -if [ "${USE_CATKIN}" = "ON" ]; then - cd "${HOME}/workspace" - - if [ "${OS_NAME}" != "macos-latest" ]; then - ./scripts/view-all-results.sh test_results - fi -fi diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index d3edb211ceb..373bce594c2 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -82,8 +82,7 @@ jobs: run: .ci/install.sh - name: Script run: .ci/script.sh - - name: After script - run: .ci/after_script.sh + # Report on failed tests - name: After failure if: ${{ failure() }} run: .ci/after_failure.sh From 1c436cde598e003d0cb5d1b1f2e31e99ea0c6e2a Mon Sep 17 00:00:00 2001 From: Ethan Gordon Date: Thu, 8 Apr 2021 16:16:33 -0700 Subject: [PATCH 16/16] Updated CHANGELOG and README badge, added option for CODECOV_TOKEN [though not yet in secrets] --- .ci/before_install_catkin.sh | 2 +- .github/workflows/build-test.yml | 1 + .github/workflows/docs.yml | 1 + CHANGELOG.md | 6 +++++- README.md | 2 +- 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.ci/before_install_catkin.sh b/.ci/before_install_catkin.sh index 387b5c33cf5..81051b444f1 100755 --- a/.ci/before_install_catkin.sh +++ b/.ci/before_install_catkin.sh @@ -5,6 +5,6 @@ set -ex # Install test fixture dependencies. mkdir -p "${HOME}/workspace/src" cd "${HOME}/workspace" -git clone https://github.com/personalrobotics/pr-cleanroom.git -b focal_support_test scripts +git clone https://github.com/personalrobotics/pr-cleanroom.git -b master scripts curl -sS "${DISTRIBUTION}" > distribution.yml ./scripts/internal-setup.sh diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 373bce594c2..b51af4e3ae0 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -73,6 +73,7 @@ jobs: DISTRIBUTION: ${{ secrets.DISTRIBUTION }} REPOSITORY: aikido SUDO: sudo + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} steps: - name: Check out repository uses: actions/checkout@v2 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index bece64a66ef..2df79478756 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -33,6 +33,7 @@ jobs: DISTRIBUTION: ${{ secrets.DISTRIBUTION }} REPOSITORY: aikido SUDO: sudo + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} steps: - name: Check out repository uses: actions/checkout@v2 diff --git a/CHANGELOG.md b/CHANGELOG.md index cb05ccdeabe..f18fdd30150 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ ## Aikido 0 (prerelease) -### 0.5.0 (2020-XX-XX) +### 0.5.0 (2021-XX-XX) * Planner @@ -8,6 +8,10 @@ * Added ConfigurationToConfigurations planner adapter: [#587](https://github.com/personalrobotics/aikido/pull/587) * Cleaned up planning methods in robot/util: [#588](https://github.com/personalrobotics/aikido/pull/588) +* Build & Testing & ETC + + * Migrate from Travis CI to Github Actions: [#598](https://github.com/personalrobotics/aikido/pull/598) + ### 0.4.0 (2020-08-27) * Planner diff --git a/README.md b/README.md index f891c7f42a0..a5c5273cf05 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# AIKIDO - AI for KIDO [![Build Status](https://travis-ci.org/personalrobotics/aikido.svg?branch=master)](https://travis-ci.org/personalrobotics/aikido) [![codecov](https://codecov.io/gh/personalrobotics/aikido/branch/master/graph/badge.svg)](https://codecov.io/gh/personalrobotics/aikido) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/6d2da97f57904c96a01a5993cbbc4f51)](https://www.codacy.com/app/personalrobotics/aikido?utm_source=github.com&utm_medium=referral&utm_content=personalrobotics/aikido&utm_campaign=Badge_Grade)[![DOI](https://zenodo.org/badge/34424077.svg)](https://zenodo.org/badge/latestdoi/34424077) +# AIKIDO - AI for KIDO [![Build Status](https://github.com/personalrobotics/aikido/actions/workflows/build-test.yml/badge.svg?branch=master)](https://github.com/personalrobotics/aikido/actions) [![codecov](https://codecov.io/gh/personalrobotics/aikido/branch/master/graph/badge.svg)](https://codecov.io/gh/personalrobotics/aikido) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/6d2da97f57904c96a01a5993cbbc4f51)](https://www.codacy.com/app/personalrobotics/aikido?utm_source=github.com&utm_medium=referral&utm_content=personalrobotics/aikido&utm_campaign=Badge_Grade)[![DOI](https://zenodo.org/badge/34424077.svg)](https://zenodo.org/badge/latestdoi/34424077) > :warning: **Warning:** AIKIDO is under heavy development. These instructions are