From 363cf957982b8b0e3d9f488ea2e8415e57ae41a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christopher=20Str=C3=B8m?= <48532094+chrstrom@users.noreply.github.com> Date: Mon, 15 Jul 2024 18:37:20 +0200 Subject: [PATCH] Try hijacking docker publish action that is already set up --- .github/workflows/docker-publish.yml | 77 ++++++++++++++++------------ 1 file changed, 43 insertions(+), 34 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 977fb4d5..5e517b98 100755 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -1,42 +1,51 @@ -name: Publish Docker image to ghcr +name: Build ROS 2 Package on: + workflow_dispatch: push: branches: [ main ] + pull_request: + branches: [ main ] +jobs: + build: + runs-on: ubuntu-22.04 + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 -env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} + - name: Setup ROS 2 + uses: ros-tooling/setup-ros@v0.6 + with: + required-ros-distributions: humble -jobs: - build-and-push-image: - runs-on: ubuntu-20.04 - permissions: - contents: read - packages: write + - name: Clone vortex-msgs + run: | + git clone https://github.com/vortexntnu/vortex-msgs.git - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Log in to the Container registry - uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - - name: Build and push Docker image - uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc - with: - context: . - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} + - name: Create workspace + run: | + mkdir -p ~/ros2_ws/src + cp -R $GITHUB_WORKSPACE ~/ros2_ws/src/ + cp -R vortex-msgs ~/ros2_ws/src/ + + - name: Install dependencies + run: | + cd ~/ros2_ws + rosdep update + rosdep install --from-paths src --ignore-src -r -y + + - name: Build with colcon + run: | + cd ~/ros2_ws + . /opt/ros/humble/setup.sh + colcon build --symlink-install + + - name: Run tests + run: | + cd ~/ros2_ws + . /opt/ros/humble/setup.sh + colcon test + colcon test-result --verbose