-
Notifications
You must be signed in to change notification settings - Fork 1
126 lines (105 loc) · 4.42 KB
/
temp_ci_test.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
name: Track changes between main and new commit
on:
workflow_dispatch: {}
push:
branches:
- 'ci-specific-modules'
jobs:
# ------------------------------------------------------------------------
# Event `pull_request`: Compare the last commit of the main branch or last
# remote commit of the PR branch -> to the current commit of a PR branch.
# ------------------------------------------------------------------------
get_modified_modules:
runs-on: ubuntu-latest
name: Get changed files
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
- name: Find changed files inside action folder
id: changed-files-action
uses: tj-actions/changed-files@v42
with:
files: src/action/**
- name: Get changed files inside interfacing folder
id: changed-files-interfacing
uses: tj-actions/changed-files@v42
with:
files: src/interfacing/**
- name: Get changed files inside perception folder
id: changed-files-perception
uses: tj-actions/changed-files@v42
with:
files: src/perception/**
- name: Get changed files inside samples folder
id: changed-files-samples
uses: tj-actions/changed-files@v42
with:
files: src/samples/**
- name: Get changed files inside simulation folder
id: changed-files-simulation
uses: tj-actions/changed-files@v42
with:
files: src/simulation/**
- name: Get changed files inside world_modeling folder
id: changed-files-world_modeling
uses: tj-actions/changed-files@v42
with:
files: src/world_modeling/**
- name: Update CHANGED_MODULES for action
if: steps.changed-files-action.outputs.any_changed == 'true'
run: |
echo "Detected action changes"
echo "CHANGED_MODULES=$CHANGED_MODULES action" >> $GITHUB_ENV
- name: Update CHANGED_MODULES for interfacing
if: steps.changed-files-interfacing.outputs.any_changed == 'true'
run: |
echo "Detected interfacing changes"
echo "CHANGED_MODULES=$CHANGED_MODULES interfacing" >> $GITHUB_ENV
- name: Update CHANGED_MODULES for perception
if: steps.changed-files-perception.outputs.any_changed == 'true'
run: |
echo "Detected perception changes"
echo "CHANGED_MODULES=$CHANGED_MODULES perception" >> $GITHUB_ENV
- name: Update CHANGED_MODULES for samples
if: steps.changed-files-samples.outputs.any_changed == 'true'
run: |
echo "Detected samples changes"
echo "CHANGED_MODULES=$CHANGED_MODULES samples" >> $GITHUB_ENV
- name: Update CHANGED_MODULES for simulations
if: steps.changed-files-simulations.outputs.any_changed == 'true'
run: |
echo "Detected simulations changes"
echo "CHANGED_MODULES=$CHANGED_MODULES simulations" >> $GITHUB_ENV
- name: Update CHANGED_MODULES for world_modeling
if: steps.changed-files-world_modeling.outputs.any_changed == 'true'
run: |
echo "Detected world_modeling changes"
echo "CHANGED_MODULES=$CHANGED_MODULES world_modeling" >> $GITHUB_ENV
- name: List all changed files
run: |
echo "CHANGED_MODULES: $CHANGED_MODULES"
setup-environment:
name: Setup environment
runs-on: ubuntu-latest
needs: get_modified_modules
outputs:
docker_matrix: ${{ steps.docker-environment.outputs.docker_matrix }}
registry: ${{ steps.docker-environment.outputs.registry }}
repository: ${{ steps.docker-environment.outputs.repository }}
source_branch: ${{ steps.github-environment.outputs.source_branch }}
target_branch: ${{ steps.github-environment.outputs.target_branch }}
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Setup Watod Environment
run: ./watod_scripts/watod-setup-env.sh
shell: bash
- name: Generate Docker Environment
id: docker-environment
uses: "./.github/templates/docker_context"
with:
modified-modules: ${{env.CHANGED_MODULES}}
- name: Generate GitHub Environment
id: github-environment
uses: "./.github/templates/github_context"