/
/
/
1name: CI/CD Pipeline for the fast slam project
2
3on:
4 push:
5 branches:
6 - main
7
8env:
9 REGISTRY: ${{ secrets.HARBOR_URL }}
10 PROJECT: docker
11 REPO: fast-slam-project
12
13jobs:
14 build:
15 runs-on: ubuntu-latest
16 steps:
17 - name: Checkout repository with submodules
18 uses: actions/checkout@v4
19 with:
20 submodules: recursive
21
22 - name: Set up Docker Buildx
23 uses: docker/setup-buildx-action@v3
24 with:
25 driver: docker
26
27 - name: Login to Harbor Registry
28 uses: docker/login-action@v3
29 with:
30 registry: ${{ env.REGISTRY }}
31 username: ${{ secrets.HARBOR_USERNAME }}
32 password: ${{ secrets.HARBOR_PASSWORD }}
33
34 - name: Build and push backend image
35 uses: docker/build-push-action@v5
36 with:
37 context: .
38 push: true
39 tags: |
40 ${{ env.REGISTRY }}/${{ env.PROJECT }}/${{ env.REPO }}:latest
41 ${{ env.REGISTRY }}/${{ env.PROJECT }}/${{ env.REPO }}:${{ github.sha }}
42 cache-from: |
43 type=registry,ref=${{ env.REGISTRY }}/${{ env.PROJECT }}/${{ env.REPO }}:latest
44 build-args: |
45 ROS_DISTRO=humble
46